🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

migrate 시 conflicting 에러가 나는 이유를 알고 싶습니다.

22.07.12 18:35 작성 조회수 150

0

instagram 앱을 생성해서 models.py에 Tag, Post 모델을 만들고 makemigration까지 잘 진행됐습니다. 그리고 migrate instagram을 진행하는데 갑자기 accounts의 migration 파일들(0003_user_avatar, 0003_user_profile)과 충돌한다는 CommandError가 발생했습니다. 

 

showmigration 결과,

accounts
 [X] 0001_initial
 [X] 0002_user_gender_user_phone_number   
 [X] 0003_user_avatar
 [ ] 0003_user_profile
admin
 [X] 0001_initial
 [X] 0002_logentry_remove_auto_add        
 [X] 0003_logentry_add_action_flag_choices
auth
 [X] 0001_initial
 [X] 0002_alter_permission_name_max_length
 [X] 0003_alter_user_email_max_length
 [X] 0004_alter_user_username_opts
 [X] 0005_alter_user_last_login_null
 [X] 0006_require_contenttypes_0002
 [X] 0007_alter_validators_add_error_messages
 [X] 0008_alter_user_username_max_length
 [X] 0009_alter_user_last_name_max_length
 [X] 0010_alter_group_name_max_length
 [X] 0011_update_proxy_permissions
 [X] 0012_alter_user_first_name_max_length
contenttypes
 [X] 0001_initial
 [X] 0002_remove_content_type_name
instagram
 [ ] 0001_initial
sessions
 [X] 0001_initial

 

accounts의 user_profile은 적용이 안돼 있는 것을 확인했는데 이걸 삭제하고 migrate instagram을 진행하면 될까요? (섣불리 지우기가 무섭네요..ㅎㅎ;;)

P.S. 혹시 accounts앱의 적용되지 않은 migration문제가 맞다면, 전혀 다른 instagram앱에서 migrate를 진행해줬는데 왜 accounts 앱의 migrated되지 않은 migration 파일이 문제를 일으키는지 말씀해주실 수 있나요?

답변 1

답변을 작성해보세요.

0

뤀쪼님의 프로필

뤀쪼

질문자

2022.07.12

0003_user_profile을(바탕화면에 혹시 몰라 백업 파일을 만들고) 삭제했더니 해결 됐습니다! python manage.py migrate instagram이 "instagram 앱에서만 migrate를 수행하라"인 줄 알았는데 아닌 것 같군요...

안녕하세요.

해결하신 대로, 에러메세지를 보시면 0003_user_avatar와 0003_user_profile 마이그레이션이 충돌이 난다고 되어있습니다. 이 마이그레이션들은 accounts 앱 내에 있구요.

instagram 앱에 대해서 migrate를 하시지만, 아마도 외래키로 User 모델을 사용하고 있어서 일수도 있구요. 혹은 accounts 앱에 대한 migrate는 수행은 안 하지만, 충돌상황은 오류를 보여주는 것일 수도 있습니다.

accounts 앱 내에서 같은 prefix를 가진 마이그레이션 파일이 2개 있다니, 이상하네요. 마이그레이션 파일을 가급적 팀에서 1명이 관리하여 세심하게 생성해주셔야, 마이그레이션에 대한 오류를 줄이실 수 있습니다. // 그냥 손에 잡히는 대로 makemigrations을 하면 꼬이게 됩니다.

미적용된 마이그레이션 파일은 삭제하셔도 무방합니다.

화이팅입니다. :-)

채널톡 아이콘