django 2.2 to 3.2

django 3.x의 lts인 3.2로 업데이트하는 과정에서 나온 것들을 기술

Pipenv 에러

  • Django 버전 limit을 해제하면서 업데이트를 해야하는데 계속해서
    위와 같은 에러가 발생
    시키는데로 했으나 효과가 없었고
    pipenv lock --pre --clear 명령어로 cache를 모두 삭제했을 때 진행됨

AutoField 변화


AutoField의 기본형이 Autofield -> BigAutoField로 변화하였고 향후 원치않는 마이그레이션을 막기 위해
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
추가

Unapplied migrations - Auth

  • update 이후 갑자기 migration 하지 않은 app : auth가 생김. 명령어를 치면 되겠지만 우선 어떤건지 확인 후에 진행하면 될듯

기타 migration 관련 내용

  • migrate 되돌리는 순서
1. makemigration 확인

2. No changes detected가 확인될 경우 showmigrations를 통해 migrate 적용확인

3. migration 파일앞에 있는 숫자를 통해 돌아갈 시기로 접근(ex : 0002)
만약 처음으로 되돌아가길 원한다면 zero
ex) python manage.py migrate --fake app_name 0002
or 	python manage.py migrate --fake app_name zero

4. 이후 showmigration을 통해 적용확인 후 다시 makemigration으로 새로운 파일을 생성

5. migrate --fake app_name을 통해 가짜로 적용

migration파일은 DB에 전달만 하는것으로 makemigration으로 생성해도 전달되지 않는다. 결국 fake를 통해 전달했다라는 상태로 변화시킴

좋은 웹페이지 즐겨찾기