【Ruby on Rails】「ActiveRecord::StatementInvalid (Could not find table ‘users’):」などのエラーが出る

TECH
2016.01.29
Pocket

【Ruby on Rails】「ActiveRecord::StatementInvalid (Could not find table ‘users’):」などのエラーが出る

Ruby on Railsに限らずActive Recordを使用している時に出るエラーです。
このエラーは接続しているDBに該当のテーブルが見つからない時に出ます。
例えば、

ActiveRecord::StatementInvalid (Could not find table ‘users’):

この場合は「DBにusersテーブル」が無いよといった感じ。

私が初めてこのエラーに直面したのは、GitHubに上げてあるプログラムをいつもとは異なるPCにcloneした時です。
以前は動いていたのに…
何もしていないのに動かなくなった。
そうなんです、実は何もしていないから動かないのです。

原因はシンプルで、初めて実行するため必要なマイグレーションスクリプトが実行されておらずDBの準備ができていないというものです。
なのでマイグレーションスクリプトを実行してあげればおーけーです。

rake db:migrate

この1行のコマンドでテーブルが作成されたりなんなりやってくれます。
うん、便利ですね。


Pocket