2016-02-07 3 views
0

Мой проект имеет более 100 миграций, в основном причиной того, что вещи были введены, удалены, а затем введены обратно. т.е. у меня много миграции, которая выглядит бесполезной для меня. Кроме того, рельсы начали добавлять предупреждение устаревания при запуске миграции:Изменить существующую миграцию или создать новую?

Deprecation ВНИМАНИЕ: #timestamps была вызвана без указания опции для null. В Rails 5 это поведение изменится на null: false. Вы должны вручную указать null: true, чтобы предотвратить изменение изменений существующих перемещений .

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

ответ

2

Это распространенная проблема для программистов Rails, которые активно разрабатывают приложение в течение некоторого времени. Практика, которую придерживается моя группа, заключается в том, что, когда мы убеждены в том, что мы никогда не откатимся от миграции #X, мы откатимся от последних миграций, которые мы намерены сохранить, скопировали сгенерированный db/schema.rb в качестве нашей новой «начальной миграции» ", а затем просто сохранить новые после первоначального. Это избавит вас от этих предупреждений об устаревании и облегчит вашу базу кода и репозиторий.

Надеюсь, это поможет.

+0

Спасибо, что поделились своим рабочим процессом. – sonalkr132

+0

Без проблем! :-) –

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