0

So I just started playing around with Laravel 5.1. I created a model with migration named "teachers". Then I manually deleted the model file which was Teachers.php which contained the Teachers class. Now when I try to roll back I get the following error:

[Symfony\Component\Debug\Exception\FatalErrorException]  
  Class 'CreateTeachersTable' not found

I tried composer dump-autoload and php artisan migrate:refresh and php artisan migrate:reset but it keeps on giving above error. I just want to start afresh. How to reset everything?

Vivek Padhye
  • 731
  • 3
  • 13
  • 26
  • this is my fault [Class 'CreateOauthIdentitiesTable' not found](http://stackoverflow.com/questions/34687079/laravel-migrate-failed-php-artisan-migraterefresh-seed) – Bozkaya Mustafa Jan 08 '16 at 22:38

3 Answers3

2

Ok. So I found the solution. So if you accidentally delete any model file or migrations file without using php artisan migrate:rollback the above command and any migrate command will cause problems. SO what you need to do is, delete all the tables manually from the database. I was using sqlite database and I deleted migrations, users, questions, teachers, password_resets all the tables that were generated by migrate command. Then I ran composer dumpautoload. Then I ran php artisan migrate command again after making changes to the files and everything was back to normal. So basically deleting migrations table solves the issue.

Vivek Padhye
  • 731
  • 3
  • 13
  • 26
1

When you refresh your migrations, Laravel looks at your migrations table and uses the values in there to load the migrations files to rollback.

Since you manually deleted the migration file, it was never removed from your migrations table. You'll have to manually delete the row in that table for the given migration file.

Joseph Silber
  • 214,931
  • 59
  • 362
  • 292
0

First, check if that class is still referenced somewhere by doing a full search within your project folder, and then if it is not, try running:

php artisan clear-compiled

Glad To Help
  • 5,299
  • 4
  • 38
  • 56
  • Tried above command. Actually I read somewhere to drop the table so I have even dropped the table from database to start afresh. I ran above command. But now it still gives same error. And when I try to just use `php artisan migrate` it says "Nothing to migrate" – Vivek Padhye Oct 21 '15 at 19:28
  • But have you searched in your project folder for the class? Maybe you you forgot a reference to the class somewhere? – Glad To Help Oct 21 '15 at 19:41