2016-05-03 7 views
-1

私はRuby on Railsアプリを持っており、それをHerokuに配備したいと考えています。いくつかのエラーが表示され、私はそれが足場の命令のためだと思う。Ruby on Railsの足場を変更する

これは、submissionsという名前のクラスが最初に作成されたことを意味しますが、このクラスはまだ作成されていない別のクラスのUsersを参照します。

これはすくいデシベルをやったときに表示されるエラーです:http://pastebin.com/R83a3rsN

を移行し、それらは、私はあなたがいることを意味推測移行ファイルとそのファイル名

です:20160503205437_create_submissions

ため

http://pastebin.com/ig5nHjsj

および

http://pastebin.com/q2jABiep(201604281) 01834_create_users

+1

あなたが得たエラーを表示してください。これは何が起こっているのかを正確に説明するので、推測は関係ありません。 –

+0

これは私がレーキをしたときに表示されるエラーです:db migrate http://pastebin.com/R83a3rsN –

+0

コードに関してより多くの情報を含めるか、エラーを解決するためにherokuログを含めることができます。 –

答えて

0

これは足場自体のようなものではありません。むしろ、それは移行(足場が発生した)に関する問題です。

問題を修復するには、この時点でアプリケーションに必要なすべての列を含む新しい移行を作成するだけです。次に、create_tableブロックの順序を編集してエラーを解決します。

他のマイグレーションファイルを削除し、dB:createまたはresetを実行することができます。

+0

create_tableブロックの順番はokです:http://pastebin.com/BYumTieQこれはスキーマです.db 私はherokuを実行しました。pg:reset DATABASE_URLは動作しますが、herokuを実行するとrake db:migrateという同じエラーが表示されます。http:// pastebin。com/warU3WDE –

+0

スキーマを正しく理解していますか?おそらく、データベースをリセットする前にスキーマを削除する必要があります。移行を実行すると、スキーマが生成されます。 –

2

あなたが名前のフォルダを移行/あなたのDBにメンバーを持っている...

20160424205437_create_submissions.db

だけ

リストの一番下に移動します

20160503205437_create_submissions.db

に名前を変更最後に実行されます。

+0

これはすでに完了しており、失敗しています。実際、create_submissions.dbは実際にはcreate_users.dbの下にあったので、正しいものでした。 –

0

これは移行の相互依存性に関連する問題です。この場合、Submissionsテーブルには、外部キーを宣言するためにテーブルが既に存在していることが予想されます。

移行時にSubmissionsテーブルの上にあるUsersテーブルを宣言することを検討してください。

+0

これは既に完了していて、動作していません。これは私があなたが話しているファイルである私のschema.dbです:pastebin.com/BYumTieQ –

+0

あなたのschema.dbファイルを編集しても違いはありません。移行は順不同ですが、定義しています。オリジナルの質問に、UsersテーブルとSubmissionsテーブルを含むマイグレーションファイルを含むマイグレーションファイルのファイル名と内容を含めることができますか?これを解決するには、ファイル名とコンテンツの両方が重要です。 –

+0

私はあなたがその意味を推測: http://pastebin.com/ig5nHjsj 20160428101834_create_usersため20160503205437_create_submissions と http://pastebin.com/q2jABiepのために –