Управление миграцией Rails - лучшие практики? - PullRequest
10 голосов
/ 17 июня 2009

Каковы лучшие практики для управления миграцией?

Например, при отладке миграции вы редактируете исходную миграцию или добавляете редактирование миграции перед фиксацией в хранилище? Спасибо!

Ответы [ 5 ]

7 голосов
/ 17 июня 2009

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

2 голосов
/ 29 января 2011

Начните тестировать ваши миграции.

http://blog.carbonfive.com/2011/01/27/start-testing-your-migrations-right-now/

1 голос
/ 19 июня 2009

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

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

0 голосов
/ 21 августа 2010

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

0 голосов
/ 19 июня 2009

Только когда-либо редактируйте существующую миграцию, если вы можете убедиться, что она еще не была запущена другими разработчиками или какой-либо автоматической настройкой сборки. Чтобы быть в безопасности, вы не должны редактировать файл перенесенной миграции, если только ошибка не была настолько серьезной, что миграция вообще не запустилась (в таком случае, почему вы ее зафиксировали?)

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

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