7

Rails 3.1.3で新しいエンジンを作成しました。明らかに、すべてのマイグレーションをコピーするレーキタスクがあります。エンジンからマイグレーションをインストールすると動作しません

rake aborted! 
Don't know how to build task 'abc:install:migrations' 

(See full trace by running task with --trace) 

は私も同じ結果とrake abc_engine:install:migrationsを試してみました:私は投げrake abc:install:migrations次試してみました。

その後、私はbundle exec rake railties:install:migrationsまたはbundle exec rake railties:install:migrations FROM=abc_engineでもそのトリックは成功することはありません。エラーが発生していないにもかかわらず、何もコピーされませんでした。

私の移行は、エンジンフォルダ内/移行/ DBに位置しており、私は/スペック/ダミーから上記

をすべてのコマンドを実行している

誰がエンジンからの移行をコピーするために、この新しいrakeタスクを使用する方法を知っています?

+0

私はあなたのように立ち往生しています。ドキュメントは本当に欠けています! –

答えて

2

私はついに見つけた/私の(同様の)問題で幸運を得た。最初のエラーのために、それはちょうど消えました、理由は分かりません。その後、通常のファイル名形式を使用して移行を作成していないことがわかったので、ActiveRecord::Migrator.migrationsメソッドはそれらを無視していました。

+0

migraitonsがactiverecordの一部であることを指摘してくれてありがとう、私は私のプロジェクトでそれが動作していなかったので、持っていない:/ – Geoffroy

10

私の代わりにこれを実行しました:

rake railties:install:migrations 

をそして、私の移行は、エンジンからコピーされました。 これが役立つことを願っています。

0

エンジンをマウントしているアプリケーションにActiveRecordがない場合(つまり、エンジンをマウントしてActiveRecordをホストアプリケーションに初めて導入する場合)、このエラーも発生します。具体的には、あなたのがapplication.rbにない場合、またはコメントアウトされている場合は、このエラーが発生します。その行はrake railties:install:migrationsタスクを有効にします。これはhereと定義されています。 rake railties:install:migrationsは、rake abc_engine:install:migrationsタスクhereによって呼び出されます。

Tl; dr:をapplication.rbに追加してください(存在しない場合)。

関連する問題