users_test.rb
ファイルを実行しようとしています。
test "the truth" do
assert true
end
いいねテーブルがありますが、それでもこのエラーが発生します。なぜそうなのか?
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
➜ channelappnew rake db:test:clone
➜ channelappnew rake db:test:clone_structure
➜ channelappnew rake db:migrate
➜ channelappnew rake db:test:load
➜ channelappnew rake db:test:prepare
➜ channelappnew rake db:test:purge
➜ channelappnew Ruby -Itest test/unit/user_test.rb
Loaded suite test/unit/user_test
Started
E
Error:
test_the_truth(UserTest):
ActiveRecord::StatementInvalid: Could not find table 'likes'
Finished in 0.058371 seconds.
1 tests, 0 assertions, 0 failures, 1 errors, 0 pendings, 0 omissions, 0 notifications
0% passed
17.13 tests/s, 0.00 assertions/s
ありがとう!
テストの前にrake db:test:prepare
rake db:migrate
を実行しましたか?テーブルが存在するかどうかデータベースを確認してください。 sqliteを使用している場合は、sqlite3 db/development.sqlite3
を呼び出してから、コマンド.schema
を発行します。データベースdb/test.sqlite3
を手動で削除してから、rake db:setup
で再作成できます。
アクティブレコードジェムの複数のバージョンが原因で発生する場合があります。アプリケーションが使用しているものを除くすべてのgemをアンインストールしてください。私は同じ問題に直面し、私が言ったことと同じことをしました。機能した。
備品をチェックしましたか?移行を変更したのに、フィクスチャが同じままだったため、エラーが発生しました。
私はちょうど同じ問題を抱えていて、db /schema.rbで解決策を見つけました:
# Could not dump table "xxx" because of following StandardError
# Unknown type 'bool' for column 'yyy'
多分これは役に立ちます!
「bool」はこのschema.rbを除いてどこでも機能しましたが、移行は開発モードで正しく実行されました。