2016-07-22 8 views
-2

rake db:migrateを実行しているときに、テーブルが存在しないなどのエラーが表示されます。これらのエラーをキャプチャする方法は?どのようにレールの移行エラーをキャプチャするには?

+0

エラーをスローする移行を作成することはできません。 「テーブルは存在しません」。突然変異の中で 'if table_exists'ガードで簡単にチェックすることができます。一般的なルールは次のとおりです。マイグレーションは例外をスローするものではありません。ところで、これは、SOの質問がされているとは思わない、[ルール](http://stackoverflow.com/help/how-to-ask)をお読みください。 – mudasobwa

+0

私は、この質問が指定理由(「広すぎる」)で閉じることはできないと思います。私は開いたままに投票します。しかし、尋ねられるように、それは良い質問ではありません - いくつかのコード、誤った出力の例など、確かにそれを改善するでしょう。 –

答えて

0

プライマリテーブルの前に実行される外部キーを含むテーブルのようです。 ログを簡単に判別し、移行の順序を変更して従属テーブルを最初に実行することができます。そう、あなたは簡単にこれを取り除くことができます。

Ex。 2つのテーブル'user''role'があるとします。ユーザーには多くの役割があります。 then 'role'テーブルには、ユーザーのIDが外部キーとして含まれている必要があります。

この場合、ロールテーブルの前にユーザーテーブルを作成する必要があります。

関連する問題