2013-12-02 5 views
0

Как можно было бы управлять, если было много файлов миграции, сделанных с использованием rails g migration?Rails migration generate

Например, если у меня был файл, который генерирует столбец для определенной таблицы, у меня было это, но потом позже по треку, который я хотел удалить. Этот тип добавления и удаления был повторен довольно много из-за архитектурных решений на этом пути.

Мне не нравится, как я создаю файл миграции для every, добавляет экземпляр столбца (столбцов), и я бы хотел очистить весь мой файл миграции, чтобы они были достаточно просты.

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

Это лучший способ пойти или есть лучшие примеры этого?

+0

файлы миграции не навсегда, вы имеете право удалить их и я бы посоветовал вам удалить старые миграции, когда они больше не полезны. –

+0

Должен ли я удалять строки миграции в таблице 'schema_migrations'? –

+0

Вы могли бы, но паразитные строки в 'schema_migrations' редко имели значение. –

ответ

0

Можно избавиться от миграций, чтобы уменьшить сложность и обеспечить, чтобы вещи не «выходили из синхронизации».

Самый простой способ - создать новый пустой файл миграции. Скопируйте содержимое schema.rb и удалите все предыдущие миграции.

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

я написал сообщение в блоге на эту тему здесь http://www.fmhcc.com.au/ruby/database-migrations-in-rails-and-when-to-start-from-scratch/