3

Railsデータベースの移行を生成/書き込み/実行した後、移行ファイルとdb/schema.rbバージョン管理を個別にコミットする必要がありますか?

4

2 に答える 2

3

私が見たほとんどの人は、1回のコミットでそれらをコミットします。

そうすれば私にはもっと理にかなっています。リビジョンを実行しrake db:migrateても変更されないようにしdb/schema.rbます。

于 2011-04-16T12:35:01.573 に答える
3

移行と同期していない場合、類似しているはずの一部のrakeタスクは、異なる動作をする可能性がありますschema.rb。たとえば、次のようになります。

データベースを作成した後、次のコマンドを実行すると、次のようになります。

rake db:migrate-移行を実行します

rake db:schema:load-それは使用しますschema.rb

データベースのリセット:

rake db:migrate:reset-移行を実行しているデータベースを1つずつ再作成します。

rake db:reset-現在のバージョンを使用してデータベースを再作成しますschema.rb

どちらの場合も、どちらのタスクを選択しても、結果は同じになるはずです。通常、schema.rbデータベースを1つの移行ごとに渡すのではなく、1つのステップで作成するため、を使用することをお勧めしますが、移行と同じバージョンでない場合、結果は異なります。

于 2011-04-17T23:09:49.053 に答える