장고3의 makemigrations의 소기
개요
이제 개발중인 장고 프로젝트를 마이그레이션 할 때 models.py 코트를 작성하고 지우고 있기 때문에 데이터베이스를 잘 지우는 것이 좋습니다.
거기서, 스스로 조사해 보고, 간단하게 migration의 변경을 삭제, 갱신할 수 있도록(듯이) 하고 싶다고 생각해, 망비록으로서 기입해 가고 싶습니다. 또한 내 환경에서find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete
라고 쓰면, Django를 재설치하는 하메가 되었기 때문에. 이 명령은 사용하지 않습니다.
개발 환경
django==3.2.1
python==3.9.1
데이터베이스 == MySQL
계기
이번에 나는 accounts라는 응용 프로그램의 models에 User라는 AbstractBaseUser를 재정의 한 models를 만들었는데 primary_key를 설정하고 makemigrations 해 버렸기 때문에 이런 것이 터미널에 매번 나왔다. 버립니다.WARNINGS:
accounts.User: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
이것을 지우기 위해 migrate하고 데이터베이스에 저장되어 버린 primary_key의 값을 없었다고 싶습니다.
migrate 명령 요약
makemigrations
python manage.py makemigrations (アプリケーション名)
migrate
python manage.py migrate (アプリケーション名)
migration했을 때의 name를 변경
python manage.py makemigrations --name (付けたい名前)
migrate의 기록보기
python manage.py showmigrations (アプリケーション名)
[ ]=migrate하지 않음
[ X ]=migrate 완료
migrate 되감기
python manage.py migrate (ファイル名)
파일 이름은 0001 또는 0002로 시작하는 파일을 가리킵니다. 지정한 파일명의 직전까지, 되감게 됩니다.
migrate를 모두 다시 시도
python manage.py migrate (アプリケーション名) zero
기록에서도 삭제
migration 파일 삭제
내 경우
python manage.py showmigrations accounts
결과accounts
[X] 0001_initial
[] 안의 X
는 migrate 했을 때에 표시됩니다. (makemigrations 때는 비어 있습니다.)
migrate 시에 데이터베이스에 모델이 저장되는 것 같습니다. 즉, 이 X
가 사라지면, 데이터베이스의 변경이 없어지는 것 같다 . 그래서 다음 명령을 사용하여 migrate를 사용하지 않았다고 가정합니다.python manage.py migrate accounts zero
결과accounts
[ ] 0001_initial
되었습니다.
이를 완전히 지우려면 응용 프로그램의 migrations 및 __pychahe__에 있는 0001로 시작하는 파일을 지웁니다.
이 후, 사용하고 있던 데이타베이스도 삭제해, makemigrations,migrate를 실시했습니다만, warning은 사라지지 않았습니다. . .
우선, error는 되어 있지 않으므로, 이대로 진행해 나가려고 생각합니다.
이 warning에 대해, 지식이 있는 분은 연락을 주시면 도움이 됩니다.
Reference
이 문제에 관하여(장고3의 makemigrations의 소기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hiro-551010/items/e2c88769881246b84a8e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
django==3.2.1
python==3.9.1
데이터베이스 == MySQL
계기
이번에 나는 accounts라는 응용 프로그램의 models에 User라는 AbstractBaseUser를 재정의 한 models를 만들었는데 primary_key를 설정하고 makemigrations 해 버렸기 때문에 이런 것이 터미널에 매번 나왔다. 버립니다.WARNINGS:
accounts.User: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
이것을 지우기 위해 migrate하고 데이터베이스에 저장되어 버린 primary_key의 값을 없었다고 싶습니다.
migrate 명령 요약
makemigrations
python manage.py makemigrations (アプリケーション名)
migrate
python manage.py migrate (アプリケーション名)
migration했을 때의 name를 변경
python manage.py makemigrations --name (付けたい名前)
migrate의 기록보기
python manage.py showmigrations (アプリケーション名)
[ ]=migrate하지 않음
[ X ]=migrate 완료
migrate 되감기
python manage.py migrate (ファイル名)
파일 이름은 0001 또는 0002로 시작하는 파일을 가리킵니다. 지정한 파일명의 직전까지, 되감게 됩니다.
migrate를 모두 다시 시도
python manage.py migrate (アプリケーション名) zero
기록에서도 삭제
migration 파일 삭제
내 경우
python manage.py showmigrations accounts
결과accounts
[X] 0001_initial
[] 안의 X
는 migrate 했을 때에 표시됩니다. (makemigrations 때는 비어 있습니다.)
migrate 시에 데이터베이스에 모델이 저장되는 것 같습니다. 즉, 이 X
가 사라지면, 데이터베이스의 변경이 없어지는 것 같다 . 그래서 다음 명령을 사용하여 migrate를 사용하지 않았다고 가정합니다.python manage.py migrate accounts zero
결과accounts
[ ] 0001_initial
되었습니다.
이를 완전히 지우려면 응용 프로그램의 migrations 및 __pychahe__에 있는 0001로 시작하는 파일을 지웁니다.
이 후, 사용하고 있던 데이타베이스도 삭제해, makemigrations,migrate를 실시했습니다만, warning은 사라지지 않았습니다. . .
우선, error는 되어 있지 않으므로, 이대로 진행해 나가려고 생각합니다.
이 warning에 대해, 지식이 있는 분은 연락을 주시면 도움이 됩니다.
Reference
이 문제에 관하여(장고3의 makemigrations의 소기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hiro-551010/items/e2c88769881246b84a8e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
accounts.User: (models.W042) Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'.
makemigrations
python manage.py makemigrations (アプリケーション名)
migrate
python manage.py migrate (アプリケーション名)
migration했을 때의 name를 변경
python manage.py makemigrations --name (付けたい名前)
migrate의 기록보기
python manage.py showmigrations (アプリケーション名)
[ ]=migrate하지 않음[ X ]=migrate 완료
migrate 되감기
python manage.py migrate (ファイル名)
파일 이름은 0001 또는 0002로 시작하는 파일을 가리킵니다. 지정한 파일명의 직전까지, 되감게 됩니다.migrate를 모두 다시 시도
python manage.py migrate (アプリケーション名) zero
기록에서도 삭제
migration 파일 삭제
내 경우
python manage.py showmigrations accounts
결과accounts
[X] 0001_initial
[] 안의 X
는 migrate 했을 때에 표시됩니다. (makemigrations 때는 비어 있습니다.)
migrate 시에 데이터베이스에 모델이 저장되는 것 같습니다. 즉, 이 X
가 사라지면, 데이터베이스의 변경이 없어지는 것 같다 . 그래서 다음 명령을 사용하여 migrate를 사용하지 않았다고 가정합니다.python manage.py migrate accounts zero
결과accounts
[ ] 0001_initial
되었습니다.
이를 완전히 지우려면 응용 프로그램의 migrations 및 __pychahe__에 있는 0001로 시작하는 파일을 지웁니다.
이 후, 사용하고 있던 데이타베이스도 삭제해, makemigrations,migrate를 실시했습니다만, warning은 사라지지 않았습니다. . .
우선, error는 되어 있지 않으므로, 이대로 진행해 나가려고 생각합니다.
이 warning에 대해, 지식이 있는 분은 연락을 주시면 도움이 됩니다.
Reference
이 문제에 관하여(장고3의 makemigrations의 소기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hiro-551010/items/e2c88769881246b84a8e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[X] 0001_initial
[ ] 0001_initial
Reference
이 문제에 관하여(장고3의 makemigrations의 소기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hiro-551010/items/e2c88769881246b84a8e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)