django 버전은 4.0.3, 파이썬은 3.9 버전에서 실습하였습니다. 그리고, 디비는 postgresql을 쓰고 있습니다. migration을 진행하다 보면, 당황할 법한 에러 메세지를 보게 되는 경우가 있는데요. postgresql과 연결한 상태에서, migrate를 하다가 오류가 생겨서 당황하였습니다. 사실, 잘 될 거 같았기 때문입니다. 예외를 자세히 읽어 보니, relispartition이 언급되었는데요. 옛날 버전은, pg_class 테이블에 해당 필드가 없어서 생긴 문제였습니다. settings.py에서 디비 연결 정보를 정의하였습니다. 그리고 마이그레이션이 잘 될 줄 알았는데 이게 왠걸? relispartition이 떨어졌습니다. c가 무엇인지 알아보기 위해서, 코드 내부를 타고 들어가 ..
웹/장고 검색 결과
django를 다루다 보면 migration을 하게 되는데요. 문득 궁금해 진 것이 하나 있었습니다. migration 기록은 어디에 저장하는 것일까요? 그래서 테스트 용으로 migrateTest 프로젝트를 만들었습니다. 그냥 django 빈 프로젝트입니다. 바꾼 설정은 migrateTest 패키지 밑에 있는 settings.py를 건드린 것 뿐입니다. 이 부분을 건드려서, 접근할 데이터베이스에 대한 정보를 초기화 해 주었습니다. showmigrations 명령어는 마이그레이션이 적용된 부분인 경우 x 표시를 해 줍니다. 지금은 모두 적용이 되지 않은 상태입니다. 이제 migrate 명령어를 이용해서, 마이그레이션 파일에 있는 것들을 모두 적용해 보겠습니다. 그 후에, 다시 showmigrations를 ..
django 프로젝트를 생성할 때, 처음에 프로젝트 경로가 뭔가 이상한 게 걸렸습니다. 깔끔하게 정리하기 위해서, startproject 명령어를 찾다 보니, 이 문서를 찾게 되었습니다. 간단하게 해당 문서를 보면서 이해해 보도록 하겠습니다. 먼저 명령어가 생각보다 꽤 길기 때문에, ps1 파일로 자동화를 시켜 보겠습니다. 반복되는 작업은 귀찮거든요. django_ex 폴더에다가 auto.ps1을 저장하겠습니다. 이 스크립트를 보면, 가상 환경을 생성하고, 활성화를 시킵니다. 다음에 가상환경에서 django를 깔고, test 디렉토리를 만듭니다. 다음에, test로 이동한 다음에, django-admin startproject 명령어를 실행시킨 다음에 가상 환경을 deactivate 합니다. Auto 스..
최근댓글