1

Rails アプリのいくつかの異なるテーブルに外部キーを追加する必要があります。1 回の移行ですべてのキーを追加するのと、変更するテーブルごとに 1 つずつ、複数の単一目的の移行を行うのとではどちらがよいでしょうか?

4

3 に答える 3

1

一般的に言えば、「いくつかの単一目的の移行」の方が優れています。移行が実行されていることを確認してください。補足として、移行ファイル名は、サードパーティが移行の内容を理解できるように十分に説明的である必要があります。

于 2013-01-28T21:00:41.243 に答える
0

移行を行うときは、共通の目的に基づいて変更をグループ化します。たとえば、アプリの 1 つの機能に 3 つの変更があり、別の機能に 2 つの変更がある場合、それら 3 つをまとめて移行し、次にそれら 2 つを別の移行として移行します。そうすれば、将来、ロールバックが必要になった場合でも、作業中の領域に関連する変更のみをロールバックできます。

于 2013-01-28T21:03:38.690 に答える
0

移行を分割するかどうかは、何がコードをより明確にするかという問題だと思います。複数の外部キーの追加が 1 つのタスクであることが意図されている場合は、1 回の移行で行います。外部キーに関連するモデル/コントローラー/ビューへの大幅な変更が伴う場合は、それらを分割する方が明確になる可能性があるため、どの移行がアプリケーションの残りのどの変更に属しているかを追跡できます。

git (または同様のもの) を使用している場合、対応する変更を 1 つのコミットにバインドすると役立つ場合があります。

パフォーマンスの観点からは、違いはありません。

于 2013-01-28T22:44:38.473 に答える