У нас есть много файлов миграции базы данных - мы должны сохранить их? - PullRequest
9 голосов
/ 17 февраля 2012

У нас есть около 100 файлов миграции баз данных. Многие из них вносят изменения в схему, которые необратимы. Существуют также более поздние миграции, которые изменяют или удаляют таблицы, созданные в предыдущих миграциях.

Мы создаем новые базы данных прямо из файла schema.rb, поэтому нам было интересно, есть ли какая-либо причина для сохранения полного набора миграций?

Мы создадим новую миграцию на основе нашего существующего schema.rb.

Ответы [ 2 ]

7 голосов
/ 17 февраля 2012

Да, то, что вы предлагаете, считается лучшей практикой.

Я делал это со своими старыми приложениями несколько раз.Вы захотите поддержать ваши миграции где-нибудь, пока не убедитесь, что все в порядке, конечно, это важная часть обслуживания приложений - если у вас много старых миграций, выполнение db:reset может занять вечностьили запустить новую среду разработки.

4 голосов
/ 01 июня 2014

Я использую rake db:setup и rake db:reset исключительно (никогда rake db:migrate) для установки новой базы данных, на производственном сервере или на новой машине для разработки.Эти команды уже используют schema.rb или structure.sql для воссоздания базы данных.

Тем не менее, действительно легко сделать копию schema.rb, использовать ее в качестве новой отправной точки и удалить все старые миграции.

Я предпочитаю сохранять свои миграции дляисторические цели, но это дело вкуса.

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