Подтвердить что ты не робот

Создайте файл миграции из schema.rb

Я хочу создать файл миграции из schema.rb. Является ли это возможным?

В настоящее время у меня много файлов миграции, и я хотел бы объединить все в один файл миграции.

Я также думаю, что, возможно, случайно удалил файл миграции в какой-то момент.

спасибо за любую помощь

4b9b3361

Ответ 1

Нет необходимости делать это. Для новых установок вы должны работать rake db:schema:load, а не rake db:migrate, это приведет к загрузке схемы в базу данных, которая быстрее, чем запуск всех миграций.

Вы не должны удалять миграции и, конечно же, не комбинировать их. Что касается случайного удаления одного из них, вы должны использовать систему управления версиями, например Git.

Ответ 2

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

Я не согласен с Андреем, что вы никогда не должны удалять миграции. Миграции неожиданно ломаются все время, основываясь на изменении классов моделей, и их очень нетривиально исправить. Поскольку я уверен, что вы используете контроль версий, вы всегда можете оглянуться назад, если вам нужны ссылки.