1

たとえば、users テーブルの作成時にデフォルト ユーザーが作成され、foos テーブルの作成時に特定のユーザー ロール (foo_admin など) が作成されます。

問題は、キュウリがスキーマのロードを行うため、これを好まないことです。

キュウリに代わりに移行を実行させることはできますか、それともそのようなことを行うためのより良い方法はありますか? 機械工が工場として使用されています (備品はありません!)

4

2 に答える 2

2

移行を使用してデータをロードしないでください。schema.rbを構築するときにデータの負荷が保持されないため、これは悪い習慣であると広く考えられています。

rakeタスクまたはenv.rbファイルのbeginブログにフックできる別のメソッドからデータをロードします

begin do
  Role.create :name=>"admin"
  `rake RAILS_ENV="test" db:load_data_for_testing `
end

またはそのようなもの。

于 2009-08-26T17:45:49.733 に答える
0

私は同様の問題に遭遇し、それを rake の依存関係にまでさかのぼります。私の解決策は、rake を使用せずに cucumber スクリプトを直接実行することでしたが、これには Rails でいくつかの構成が必要になる場合があります (Merb を使用すると、すぐに動作します)。もう 1 つの解決策は、rake タスクをオーバーライドして、db:load_schema ではなく db:migrate に依存するようにすることです。

注意。最近のバージョンの Rails の経験はほとんどありませんが、スキーマ ファイルをロードする bin/cucumber スクリプトまたは env.rb ファイルにも何かがある可能性があります。

于 2009-08-26T16:55:06.450 に答える