Создайте файл миграции из schema.rb - PullRequest
30 голосов
/ 07 марта 2011

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

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

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

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

Ответы [ 2 ]

54 голосов
/ 03 октября 2011

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

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

20 голосов
/ 07 марта 2011

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

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

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