たとえば、users テーブルの作成時にデフォルト ユーザーが作成され、foos テーブルの作成時に特定のユーザー ロール (foo_admin など) が作成されます。
問題は、キュウリがスキーマのロードを行うため、これを好まないことです。
キュウリに代わりに移行を実行させることはできますか、それともそのようなことを行うためのより良い方法はありますか? 機械工が工場として使用されています (備品はありません!)
たとえば、users テーブルの作成時にデフォルト ユーザーが作成され、foos テーブルの作成時に特定のユーザー ロール (foo_admin など) が作成されます。
問題は、キュウリがスキーマのロードを行うため、これを好まないことです。
キュウリに代わりに移行を実行させることはできますか、それともそのようなことを行うためのより良い方法はありますか? 機械工が工場として使用されています (備品はありません!)
移行を使用してデータをロードしないでください。schema.rbを構築するときにデータの負荷が保持されないため、これは悪い習慣であると広く考えられています。
rakeタスクまたはenv.rbファイルのbeginブログにフックできる別のメソッドからデータをロードします
begin do
Role.create :name=>"admin"
`rake RAILS_ENV="test" db:load_data_for_testing `
end
またはそのようなもの。
私は同様の問題に遭遇し、それを rake の依存関係にまでさかのぼります。私の解決策は、rake を使用せずに cucumber スクリプトを直接実行することでしたが、これには Rails でいくつかの構成が必要になる場合があります (Merb を使用すると、すぐに動作します)。もう 1 つの解決策は、rake タスクをオーバーライドして、db:load_schema ではなく db:migrate に依存するようにすることです。
注意。最近のバージョンの Rails の経験はほとんどありませんが、スキーマ ファイルをロードする bin/cucumber スクリプトまたは env.rb ファイルにも何かがある可能性があります。