2009-09-16 24 views
11

特にモデルを編集する際に、Railsマイグレーションの命名規則がありますか?Railsマイグレーションの命名規則

私はedit_fooまたはadd_bar_to_foo

という名前を付けなければならない私は私がmutlipleモデルを編集していた場合、私は複数回の移行を作成する必要がありますと仮定していますが、私は複数を作ってるんだ何場合、Fooモデルに列barを追加している場合単一のモデルに変更を加えたら、それをadd_bar_remove_x_edit_y_to_fooと名づけますか?

答えて

5

私は以前のポスターに同意します。命名は読みやすさに焦点を当てるべきです。しかし、同じ名前の2つの移行を行うことはできません。 (あなたがそのモデルに複数の列を追加したいとき、何が起こるので)

だから、edit_foo_modelのような一般的な名前は、それがupdate_foo_for_bar_supportのように、目的が何であるかに列グループに良いだろう一般的に良いアイデアではありません。モデルの追加はスキップすることができます。なぜなら、マイグレーションがモデルを処理することを誰もが知っているからです。つまり、その名前に言及する必要はありません(update_foo_modelの代わりにupdate_foo)。

また、私が通常行うことは、さまざまな変更を分けておくことです。したがって、モデルに複数の異なる変更がある場合、それらを別々の移行ファイルに分けます.1つは列を追加するためのファイルと1つは列を削除するファイルです。

+1

一般的なedit_fooやverbose add_bar_to_fooではなく、モデルに加えている変更を反映するわかりやすい名前があなたの言うことの要点のように聞こえます。例えばadd_bar_support_to_foo。また、マイグレーションが複数の関連しない変更を行っている場合は、分割してください。 これは意味があります:) – roryf

0

ポイントは読みやすくなっています。マイグレーションの原因をすばやく見つけることができます。名前にあまりにも多くの「データ」を書き込むと、スキャンが難しくなり、足で自分を撃ってしまいます。

だから、1-2変化だ場合...、あまりにも多くの変更がある場合、update_foo_model(またはedit_foo_model)を書き、名前でそれを書く

+1

これは、後で人生で同様の変更を加えなければならない場合の問題です。同じ名前の移行はできません。 –

+0

実際、ほとんどのケースでは単純な解決策ですが、一般的なケースの単純さがそれに値すると思います。 – amitkaz

2

複数の移行で複数のスキーマの変更を分割します。 その後、簡単に単一のマイグレーションの名前を付けることができます。