2023-06-29 TIL

0v0baek·2023년 6월 29일
1

TIL

목록 보기
86/92

[django][DB] migrations 폴더의 소중함

기존에는 django로 작업을 하다 migrate 오류가 발생하면
migrations 폴더를 날려주는 식으로 작업했다.


이런식으로 0001_ㅁㅁㅁ하고 붙는 친구들이 DB에 적용시킬 때 필요한 파일들이다.

원래는 얘네를 날려주고 했는데...
그러면 문제가 생긴다!!

❓ django_migrations 테이블

django에서는 사용자가 migrate를 실행할 때 마다 이를 기록해주는 django_migrations 테이블이 있다.

이렇게 기록이 남는데, 한 번 기록이 남는 파일은 다시 적용시켜주지 않는다.

그래서 폴더안의 migration 기록을 날리고 0001_initial을 새로 만들어도 이전 기록을 삭제하지 않는 이상 적용이 안되는 것!

근데 또 테이블의 데이터값을 날려주고 migrate를 해준다고 해도,
테이블간의 릴레이션 때문에 문제가 발생할 확률이 매우 높다.

즉,

  • migrations 안의 파일을 삭제할 때는 신중히. 웬만하면 날리지 말자!
  • 만약에 날리게 되면 그냥 DB자체를 싸그리 날리고 새로 만드는 게 낫다..

DB를 날릴 때는 꼭 dump_data로 필요한 파일을 빼주자.

profile
개발 공부 하는 비전공자 새내기. 꾸준히 합시다!

0개의 댓글