2009-08-19 4 views
1

私はいくつかのデータをマイグレートしています。たとえば、usersテーブルが作成されたときにデフォルトユーザーが作成され、foo_adminのような特定のユーザーロールが作成されます作成されます。キュウリをスキーマロードの代わりに実行する

キュウリは、スキーマの読み込みを行うため、このようには問題ありません。

キュウリの代わりにマイグレーションを実行することはできますか?そうしたタイプの操作を行う方がよいでしょうか?機械工は工場として使用されています(備品はありません)

答えて

2

データを読み込むために移行を使用しないでください。 schema.rbをビルドするときにデータのロードが保持されないため、これは悪い習慣とみなされています。

rakeタスクや、あなたのenv.rbファイルの開始ブログ

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

またはそのような何かにフックすることができます別の方法からデータをロードします。

0

私は同様の問題に遭遇し、それをレーキの依存関係に戻しました。私の解決策は、レーキを使わずにキュウリのスクリプトを直接実行することでしたが、これはRailsでいくつかの設定を必要とする可能性があります。もう1つの解決策は、rakeタスクをdb:load_schemaではなくmigrateに依存するようにオーバーライドすることです。

NB。私はレールの最近のバージョンではほとんど経験がありませんまた、スキンファイルを読み込むbin/cucumberスクリプトまたはenv.rbファイル内の何かであるかもしれません。

関連する問題