Как можно перенести модели Django, аналогичные миграциям Ruby on Rails? - PullRequest
6 голосов
/ 12 мая 2009

Django имеет ряд проектов с открытым исходным кодом, которые решают одну из наиболее заметных недостающих функций : модель "эволюция". Ruby on Rails имеет встроенную поддержку миграций , но мне любопытно, кто-нибудь может порекомендовать один из следующих проектов Django "evolution":

Ответы [ 4 ]

10 голосов
/ 12 мая 2009

На юге больше всего пара. миграция - это слишком базовая ИМО. django-evolution кричит, если вы когда-нибудь дотронетесь до БД вне его.

Юг - самый сильный соперник на сегодняшний день. С замораживанием модели и автопереходом она прошла долгий путь.

5 голосов
/ 12 мая 2009

Юг и Джанго-Эволюция, безусловно, лучшие варианты. По моему опыту, замораживание моделей и автоматическое намеки Юга все еще довольно хрупки (намеки на django-evolution намного лучше в крайних случаях), но развитие django-evolution, по-видимому, в основном застопорилось с прошлого лета. Если бы я начинал сейчас, я бы выбрал Юг, в основном по этой причине.

2 голосов
/ 14 декабря 2009

Прочитав это, я перешел от «ничего не зная об эволюции модели данных» к «использованию юга для управления миграцией модели» менее чем за 1 час. Документация Юга выдающаяся и дала мне скорость в рекордные сроки. Не глядя на другие упомянутые инструменты, я полностью рекомендую его.

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

Я приведу юг в любой будущий проект. Фантастический инструмент!

1 голос
/ 12 мая 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...