Объедините две разные миграции Django - PullRequest
0 голосов
/ 17 мая 2019

У нас есть два разработчика, работающих над Django.Из-за некоторых технических проблем мы еще не начали использовать контроль версий.Два разработчика внесли некоторые изменения в модели Django.Разработчик A имеет 1 миграцию, а разработчик B - 5 миграций.Они оба работали в двух разных таблицах.Как мне объединить две миграции, если они не используют контроль версий.

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Предположим, что у вас есть две разные миграции, такие как 001_add_x и 002_add_y, и обе они были применены к базе данных.

Когда вы хотите объединить их и создать новую миграцию, такую ​​как 003_add_z в объединенном проекте вы должны запустить

python manage.py migrate <app> 001 --fake

и

python manage.py migrate <app> 002 --fake

, а затем вы можете запустить

python manage.py migrate <app>

или вы можете удалить все файлы миграции и повторно запустить makemigration, чтобы создать миграцию для всех моделей, затем вы можете запустить migrate <app> --fake

0 голосов
/ 17 мая 2019

Вероятно, миграции имеют одинаковый номер в префиксе.Сохраните оригинальное имя на первом и увеличьте второе.Например:

Developer A: 0035_customer.py
Developer B: 0035_process.py -> rename to -> 0036_process.py

Кроме того, измените атрибут dependencies при второй миграции, чтобы убедиться, что он будет работать в правильном порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...