Мне любопытно, как другие разработчики django управляют несколькими ветвями кода (например, в git) с миграциями.
Моя проблема заключается в следующем:
- у нас есть несколько ветвей функций в git, некоторые из них с миграциями django (некоторые из них изменяют поля или вообще удаляют их)
- когда я переключаю ветки (с git checkout some_other_branch
), база данных не всегда отражает новый код, поэтому я запускаю "случайные" ошибки, где столбец таблицы db больше не существует и т.д.
Прямо сейчас, я просто бросаю db и воссоздаю его, но это означает, что я должен воссоздать кучу фиктивных данных, чтобы перезапустить работу. Я могу использовать приборы, но это требует отслеживания того, какие данные идут туда, это немного хлопот.
Есть ли хороший/чистый способ борьбы с этим прецедентом? Я думаю, что post-checkout
git hook script может выполнить необходимые миграции, но я даже не знаю, возможны ли откат возврата.