Соглашения об именах для миграции на Rails - PullRequest
13 голосов
/ 16 сентября 2009

Существует ли рекомендация по присвоению имен для миграции на Rails, особенно при редактировании модели?

например. если я добавляю столбец bar к модели Foo, я должен назвать его edit_foo или add_bar_to_foo

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

Ответы [ 3 ]

6 голосов
/ 16 сентября 2009

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

Итак, общие имена, такие как edit_foo_model, как правило, не очень хорошая идея (поскольку, что происходит, когда вы хотите добавить больше столбцов в эту модель), тогда было бы лучше сгруппировать столбцы по назначению, например update_foo_for_bar_support. Обычно вы можете пропустить добавление модели, так как все знают, что миграции работают с моделями, поэтому нет необходимости упоминать это в названии (то есть update_foo вместо update_foo_model).

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

1 голос
/ 16 сентября 2009

Я бы разделил несколько изменений схемы в нескольких миграциях! Тогда вы можете легко назвать отдельные миграции!

0 голосов
/ 16 сентября 2009

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

Итак ... если это 1-2 изменения, напишите это в названии, если изменений слишком много, напишите update_foo_model (или edit_foo_model)

...