Я хочу использовать юг в моем Джанго проекте как инструмент миграции, но у меня есть проблема с использованием югом многопользовательского сценария:django и юг миграции с конфликтами (0007_two ... и 0007_one) как решить?
Два дэвов, работающих одновременно на разных машинах создают две миграций с одинаковым числом
на первом ПК:
0007_extend_lizard.py
на второй ПК:
0007_swap_name_adopter.py
В этом случае я могу запустить ./manage migrate --merge
или ./manage migrate 0006
(откат) и снова запустить ./manage migrate
. НО, когда я хочу добавить новое поле в models.py
и запустить ./manage startmigration southdemo --auto
, тогда юг получает models = {}
метаданных из последней миграции, и у него отсутствует информация из первой миграции. Результатом этого является создание миграции 0008 с созданием снова (!!!) изменений с первого 0007.
Каков наилучший способ решить эту проблему?
В настоящее время я думал о двух вариантов:
вручную объединить оба 0007 миграцию в один файл, а затем перенести (но кто-то должен выполнить «откат»)
вручную переместить отсутствует
models = {}
meta до последней миграции 0007, а затем следующий--auto
в 0008 будет работать отлично.
Какой вариант лучше? Или есть что-то еще, что мне не хватает?