2013-03-03 3 views
2

Я прочитал, что нужно сгладить (юг) миграции, прежде чем нажимать новый код на производство. Что означает «сгладить миграцию», почему это рекомендуется, и как это делается на Юге?Сглаживание миграций Django South?

ответ

2

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

Я не читал нигде, что выравнивание «рекомендуется», поэтому я не могу дайте вам этот совет, если у вас есть ссылка, я буду рад ее прочесть.

Я читал, что Ruby on Rails обладает этой функциональностью, но там не рекомендуется.

Рассмотрим эти вопросы первой:

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

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

python manage.py schemamigration myapp --merge 

или последнее, но не в последнюю очередь обновить последнюю миграцию с помощью --update


Я нашел этот вопрос ш hilst googling и подумал, что это будет полезно для справки, это, в свою очередь, содержит ссылки на 4 других вопроса.

Aggregate migrations in Rails

+2

Я прочитал следующее о новых двух совках Джанго книги (бета): «Во время работы над приложением Django, распрямите миграции (ей) только один, прежде чем толкая новый код для производства Других слов. , совершите «достаточно миграции», чтобы выполнить работу ». Однако они также говорят: «Не удаляйте миграцию из существующих проектов в производство» – Derek

+2

А, да, я считаю, что они имеют в виду «сплющивание» как концепцию, а не метод работы. Однако то, что они могут иметь в виду, также заключается в том, что вы должны попытаться составить свои миграции в один файл, прежде чем нажимать его на производство, вместо того, чтобы нажимать, скажем, 15 разных файлов от 9 разных лиц. Я не уверен, что это лучшее, я бы этого не хотел, но, эй, каждому. –

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