Django 1.7, встроенный в миграции против южных миграций?

Я проверил эту проблему в вопросах и не смог найти простого объяснения о сборке Django в миграциях или достаточно ли они надежны?

Я начал новый проект с Django 1.7 и столкнулся с множеством проблем со сборкой миграции. Простые вещи, которые были нормальными на Юге, вызывают у меня исключение в этой версии. Например, изменение charfield на ошибку повышения внешнего ключа, которая не может преобразовать тип поля в int, что является нормальным, и поэтому я выполняю миграцию. Поскольку я знаю, что мне приходилось делать с South в моих предыдущих проектах, я сильно сомневаюсь, что миграции django справятся с такими операциями? Например, самоанализ настраиваемых полей, преобразование внешнего ключа в многоточие, изменение абстрактных классов на поля и многие другие... Итак, мой вопрос:

Достаточно ли надежны встроенные миграции Django 1.7 для большой сложной нормализованной структуры базы данных?

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


person kpacn    schedule 26.10.2014    source источник


Ответы (1)


Вы должны знать, что миграции Django Core были написаны Эндрю Годвином, который является основным участником South.

И его слова были:

"Дизайн South, созданный четыре года назад, подошел к серьезным ограничениям, пришло время добавить поддержку миграции в сам Django"

Итак, поймите, что Django Core Migration — это не «параллельная» система миграции, а новая, и предполагается, что она лучше. Я не очень хорошо знаком с югом, но если вы сталкиваетесь с ошибками при миграции ядра, это может быть связано с тем, что он работает не так, как Юг, и некоторые вещи нужно достигать другим способом. Я не думаю, что это потому, что этот новый инструмент ненадежен.

Конечно, как новый инструмент, вы должны быть осторожны с ошибками (обновитесь до 1.7.1), но Django — тщательно протестированный и очень стабильный фреймворк.

person David D.    schedule 26.10.2014