Как начать использовать миграцию базы данных django south?

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

В настоящее время я разрабатываю на локальной машине, а затем отправляю изменения на свой рабочий сервер. Раньше это было довольно болезненно, но, похоже, юг может облегчить все.

В нынешнем виде на моей машине разработки есть некоторые изменения, которые не дошли до производственного сервера, но я хотел бы применить эти изменения. И машина разработки, и производственный сервер связаны с учетной записью Subversion, в которой хранится весь код.

Вопросы..

  1. Как мне установить юг на обеих машинах.
  2. Как использовать его для переноса изменений на машине разработчика в рабочую среду.

Быстрый пример ..

Например, будет ли это работать:

  1. Установите юг для каждого приложения на производственном сервере и создайте начальные миграции.
  2. Зафиксировать изменения в svn
  3. Дамп базы данных с рабочего сервера
  4. Ознакомьтесь с последними изменениями в svn на локальном компьютере.

На этом этапе машина разработчика должна соответствовать производственному серверу, верно? Теперь, чтобы обновить мои изменения с разработчика на рабочий сервер:

  1. Скопируйте мои локальные изменения поверх извлеченной копии на машине разработчика и используйте юг для создания миграции для моих обновлений.
  2. Зафиксировать изменения в .svn
  3. Запустите миграцию на производственном сервере, чтобы обновить изменения схемы и перенести данные в новую базу данных.

Это сработает?


person Jon Cage    schedule 11.06.2012    source источник
comment
Внесены некоторые исправления, чтобы сделать это более подходящим для SO - я подниму отдельный вопрос по третьему вопросу, который у меня был.   -  person Jon Cage    schedule 12.06.2012


Ответы (1)


  1. взгляните на http://south.readthedocs.org/en/latest/convertinganapp.html#converting-an-app
  2. в остальном это довольно просто:

    на dev:

    • modify models
    • ./manage.py schemamigration app --auto
    • ./manage.py мигрировать
    • проверить работу вещей
    • совершить

    по продукту:

    • проверить
    • ./manage.py мигрировать
    • перезапустить сервер
person Dmitry Mukhin    schedule 05.07.2012