4
rake db:seed
シードデータを再実行すると既存のシードデータが削除され、シードデータを変更するたびに新しいレコードが再作成または追加されますか?既存のシードデータにdb:seedがどのように作用するのですか?
rake db:seed
シードデータを再実行すると既存のシードデータが削除され、シードデータを変更するたびに新しいレコードが再作成または追加されますか?既存のシードデータにdb:seedがどのように作用するのですか?
rake db:seed
を実行すると、db/seeds.rbはrails環境にのみ含まれます。
したがって、データベースには何も言及されていません。
は、私は通常私のdb /シードファイルの先頭に以下を置く:
Dir['app/models/**/*.rb'].each do |model|
model_object = model.camelize.constantize
model_object.delete_all
end
この方法では、以前のすべてのシード・データが削除され、私は私のdevの環境では、私が欲しいこの新鮮な新しい適切なデータを取得します。
「rake db:reset」についてはどうですか? –
シードデータを使用している場合は、シードデータへの参照を持つテストデータを作成できたので、シードデータに触れたくないと思います。ですから、以前にプロビジョニングされたデルタシードデータを追加するだけでよいでしょう。 – Jason
rake db:resetはdbを削除し、作成し、スキーマをロードしてからシードを追加します。 –