Laravel の php artisan db:seed で SQLSTATE[42S02]: Base table or view not found: 1146 Table エラーが発生



Laravel の php artisan db:seed を Amazon RDS の環境で実行すると、エラーが発生しました。

Groups テーブルが存在しないというエラーです。もちろん migration では groups テーブルは作成していて、show tables で存在しているのが確認できます。

 原因は seeder ファイルの中で

と書いているテーブル名の先頭が大文字で始まっていたことでした。 ‘Groups’ を ‘groups’ に書き換えることでエラーが出なくなりました。

理由は Laravel とは関係なく、MySQL が UNIX ではテーブルの大文字・小文字は区別され Windows や macOS (ファイルシステムによる) だと区別されないという違いがあるためでした。開発環境ではエラーにはならなかったので、なかなか気づきにくいところです。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA