Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 19, 2013 10:17:38

likin
От:
Зарегистрирован: 2010-03-15
Сообщения: 114
Репутация: +  1  -
Профиль   Отправить e-mail  

south - update data.

Доброго утра.
провожу investigation.

Что я уже понял, что syncdb создает только новые таблицы, существующие не модифицирует. Звучит странно. Неужели до сих пор не исправили? Для миграции данных используем сторонние утилиты. В данном случае South. Как быть с ситуацией, когда изменяется тип поля, к примеру, с integer to string. Теперь место цифровых констант мы храним строковые эквиваленты. Как произойдет миграция? Как сделать так, что б на продакшене не было потери данных?

Спасибо.



Офлайн

#2 Фев. 19, 2013 11:12:10

alafin
Root
От: Киев, Украина
Зарегистрирован: 2006-04-06
Сообщения: 756
Репутация: +  3  -
Профиль   Отправить e-mail  

south - update data.

На счет интеграции south в django.contrib вроде как были разговоры, но на сколько я знаю ничем не закончились.
Если типы совместимы то по идее south должен нормально разрулить ситуацию с помощью alter_column, если же нет, то тогда придется делать в несколько этапов:
1) миграция схемы - добавление нового поля в модель
2) миграция данных - заполнение нового поля
3) миграция схемы - удаление старого поля



Отредактировано alafin (Фев. 19, 2013 11:13:10)

Офлайн

#3 Фев. 19, 2013 11:24:48

likin
От:
Зарегистрирован: 2010-03-15
Сообщения: 114
Репутация: +  1  -
Профиль   Отправить e-mail  

south - update data.

Ok. Спасибо.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version