2013-10-03 2 views
3

У меня есть два сервера, один из которых является разработкой, а один - производством. При разработке миграции приложений 0012 на производство в настоящее время 0006. По некоторым причинам мы до сих пор не хотят мигрировать миграции из 0007 -> 0011, но мы хотим, чтобы перенести 0012 на производство, а также, я знаю, что я могу это сделать, чтобы перенести конкретный файл:Django South Пропустить некоторые файлы миграции

manage.py migrate apps.my_app 0012 

Мой вопрос будет юг, если в файлах миграции есть пробел? Если да, то как обращаться с этим конкретным случаем, чтобы в будущем, когда мы хотим переместиться между файлами миграции (которые сейчас пропущены), мы можем сделать это, не нарушая ничего?

+1

Возможно, вы захотите рассмотреть '--fake 0011'? – karthikr

ответ

3

У вас не может быть пробелов при миграции, так как Юг предполагает, что они являются последовательными. Я бы сделал:

  1. Миграция развития назад к 0006.
  2. Создайте новую миграцию 0007, которая делает то, что делает 0012, и применяет его как для разработки, так и для производства.
  3. Создайте новую миграцию (-и) для оригинала 0007 до 0011, измените и примените их к разработке (и производству при готовности).

В будущем я бы рекомендовал использовать ветки и объединить эти ветви (включая миграции), когда вы будете готовы их к разработке и производству.

+0

Мне нравится ваша идея ветвей, но пока у нас есть отдельные репозитории git для обоих серверов. Но я все еще понимаю ваш ответ на данный момент. –

+0

Спасибо за ваш ответ и предложение. –

Смежные вопросы