2015-09-15 3 views
1

У моей команды были файлы миграции Django в .gitignore и поэтому не выполнял эти файлы. Вместо этого мы производим миграцию на нашем производственном сервере. Мы обнаружили, что это не рекомендуемая практика (при столкновении Should I be adding the Django migration files in the .gitignore file?). Это вызовет проблемы - на данный момент - удалить миграции из .gitignore, makemigrations на машине разработки, зафиксировать, нажать и применить миграции на производственном сервере? Если да, то как мы можем обойти эти проблемы?Остановка игнорирования файлов миграции в git для проекта Django

Этот вопрос мотивирован во многом потому, что нам нужно применить пользовательскую миграцию, которую мы частично написали. (Как таковой, на самом деле существует дополнительный шаг между выполнением миграции на машине разработки и их фиксацией, а именно добавлением в наш пользовательский код файла миграции).

ответ

2

Я думаю, что единственный способ - скопировать все миграции с производственного сервера на ваш репо, а затем зафиксировать их. Это, скорее всего, ручной процесс, потому что ваш производственный сервер - это единственное место, которое отслеживает все миграции. Вам не нужно беспокоиться о том, как перенести ваш производственный сервер, потому что он сохраняет оригинальную копию. Однако все это должно быть сделано до того, как будут добавлены и применены новые миграции.

В конце концов, вы должны создать новые миграции в локальной среде разработчиков, добавить git и нажать перенос на производство, а затем применить миграцию. Помните, что ваш CI или что-то еще проверяет наличие дубликатов файлов миграции.