Соглашения об именах для миграции Rails

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

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

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

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

Точка - читаемость - быстро узнать, за что несет ответственность миграция. Если вы пишете слишком много "данных" в имени, это затрудняет сканирование, и вы стреляете себе в ногу.

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