この度ruby on railsを学ぶことになりまして
Ruby on Rails チュートリアル をやっております。
現在10章の2なのですが、そのある時点で
bundle exec rake testを実行したところエラーを吐いてしまいました。
慌てて最後にgit commitしたところまで戻ったのですが(コミットする直前にtestしてもエラーは無かったため)
念のためtestしたところ…エラーを吐いた時と同じエラーを吐いてしまいました。
39テストのうち39エラー、そのどれもが共通の部分がありますので一部エラーログを省略します。
Started ERROR["test_should_get_about", StaticPagesControllerTest, 2016-10-19 18:00:56 +0900] test_should_get_about#StaticPagesControllerTest (1476867656.49s) ActiveRecord::StatementInvalid: ActiveRecord::StatementInvalid: Could not find table 'users' ・ ・ ・ ERROR["test_valid_signup_information_with_account_activation", UsersSignupTest, 2016-10-19 18:00:59 +0900] test_valid_signup_information_with_account_activation#UsersSignupTest (1476867659.01s) ActiveRecord::StatementInvalid: ActiveRecord::StatementInvalid: Could not find table 'users'
と、このように
ActiveRecord::StatementInvalid: ActiveRecord::StatementInvalid: Could not find table 'users'
という部分が39回繰り返して表示されています。(日付などはかなりズレていて、その理由も分かりません…笑)
ActiveRecord::StatementInvalidなどで検索してみたところ、
https://teratail.com/questions/28520にたどり着きました。
引用させていただきますが、
ActiveRecord::StatementInvalid: Could not find table 'members'
がエラーメッセージです。
これは, "members" というテーブルが DB 中にみつからない という意味です。
rails c 中で
ActiveRecord::Base.connection.tables
という文を実行させると、テーブルの一覧が表示されます。
members があるかを確認してみてください。
members が存在していないなら mebers テーブルを作成することが必要です。
と回答が御座いまして、言われた通りにrails c中でActiveRecord::Base.connection.tablesを実行したところ
=> ["schema_migrations", "users"]
と表示され、どうも"users"テーブルが存在するようです。
存在するのに、見つけられなかった。
この場合、どうすればよろしいのでしょうか。
ご指導の程、何卒よろしくお願いいたします。
追記
どうにも解決が難しい状況みたいです。
gitでロールバック(?)してもダメだったので
herokuで最後にネットにアップした状態に戻せないでしょうか。
調べてみましたところ、データベースのバックアップなどは存在しますが
データベースのみならずアプリそのものを復元する方法が分からず…
その点につきましてお詳しい方おられましたら御教授お願いいたします…
回答2件
あなたの回答
tips
プレビュー