For some reason whenever I run any php artisan
command I get an error saying one of my tables doesn't exist. This is true, I'm starting on a new database. What I can't figure out is why on earth artisan needs to use this table? The error that shows up is:
[Illuminate\Database\QueryException]
SQLSTATE[42S02]: Base table or view not found: 1146 Table
'happylister.categories' doesn't exist (SQL: select *
from `categories` order by `name` asc)
[PDOException]
SQLSTATE[42S02]: Base table or view not found: 1146 Table
'happylister.categories' doesn't exist
I just can't figure out for the life of me where that query is coming from - even just using php artisan
generates this error. I first noticed this when I tried to run php artisan migrate
to set up the tables, which of course failed. Then I noticed ALL php artisan
commands fail.
So my question is: why would php artisan
need a table specific to my app, given that normally you should be able to use php artisan
on a clean database to set it up?
A Laracasts user very kindly helped me out with this answer:
If you're referencing a model from a service provider and the migrations have not been run, then you'll get that error. For some reason Artisan commands like to load all the providers, even ones it doesn't need.
Thank you to FetchTheDev over at the Laracasts forums.