기존에는 django
로 작업을 하다 migrate
오류가 발생하면
migrations
폴더를 날려주는 식으로 작업했다.
이런식으로 0001_ㅁㅁㅁ
하고 붙는 친구들이 DB
에 적용시킬 때 필요한 파일들이다.
원래는 얘네를 날려주고 했는데...
그러면 문제가 생긴다!!
django
에서는 사용자가 migrate
를 실행할 때 마다 이를 기록해주는 django_migrations
테이블이 있다.
이렇게 기록이 남는데, 한 번 기록이 남는 파일은 다시 적용시켜주지 않는다.
그래서 폴더안의 migration
기록을 날리고 0001_initial
을 새로 만들어도 이전 기록을 삭제하지 않는 이상 적용이 안되는 것!
근데 또 테이블의 데이터값을 날려주고 migrate
를 해준다고 해도,
테이블간의 릴레이션 때문에 문제가 발생할 확률이 매우 높다.
즉,
migrations
안의 파일을 삭제할 때는 신중히. 웬만하면 날리지 말자!- 만약에 날리게 되면 그냥
DB
자체를 싸그리 날리고 새로 만드는 게 낫다..
DB
를 날릴 때는 꼭 dump_data
로 필요한 파일을 빼주자.