2016-08-08 6 views
1

私は別のRailsアプリケーションデータベースに接続するRailsアプリケーションを持っています。彼らはいくつかの共通モデルを持っています。コンソールを使用すると、すべて正常に動作します(ActiveRecordはテーブルを適切に照会します)。しかし、Webサーバーを使用している場合、Railsは保留中の移行をチェックし、エラーMigrations are pendingを発生させます。これら2つのアプリの移行が異なるため、この小切手を渡したいと思います。サーバーを起動するだけです。私は試しました:保留中の移行を無視するにはどうすればよいですか?

config.active_record[:migration_error] = false 
config.active_record.migration_error = false 

運がありません。どのようにしてRailsはそれらの保留中の移行を無視させることができますか?この小切手をスキップしますか?または、何らかの方法で名前を付けたり、適切なmtimeを設定して、最後の移行ファイルにする方法はありますか?レールはschema_migrationsというテーブルに移行情報を格納しているので

答えて

2

は、InのRAILS_ROOT/configに/環境/ development.rbのような、staging.rbまたはproduction.rb

config.active_record.migration_error = false 

における適切な環境ファイルでこれを試してみてください。そのため、移行のバージョンをそのテーブルに追加して、特定の移行をスキップすることができます。バージョンは、ファイル名の説明の前にくる数字の文字列です。

また、ファイル名の先頭にドットを追加

.20160801105511_your_table.rb 

20160801105511_your_table.rb 

から例えばマイグレーションの名前を変更することができます。それが動作することを願っています。

+0

これは私がすでに行ったことです – leemour

+0

私の更新された答えを確認してください –

0

この設定が設定内に2回配置されていないことを確認してください。 変更を適用した後、ウェブサーバーを再起動してください。

+0

これは、質問の答えのように、コメントのように聞こえるはずです。 – GhostCat

関連する問題