2015-10-21 2 views
0

Так что я только начал играть с Laravel 5.1. Я создал модель с миграцией под названием «учителя». Затем я вручную удалил файл модели, который был Teachers.php, который содержал класс Учителей. Теперь, когда я пытаюсь откатить я получаю следующее сообщение об ошибке:Удалена модель вручную, php artisan migrate дает и ошибка

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

Я попытался composer dump-autoload и php artisan migrate:refresh и php artisan migrate:reset но иссякает выше ошибки. Я просто хочу начать заново. Как сбросить все?

+0

это моя ошибка [Класс 'CreateOauthIdentitiesTable' не найден] (http://stackoverflow.com/questions/34687079/laravel-migrate-failed-php-artisan-migraterefresh-seed) –

ответ

2

Ok. Поэтому я нашел решение. Поэтому, если вы случайно удалили любой файл модели или файл миграции, не используя php artisan migrate:rollback, указанная выше команда и любая команда переноса вызовут проблемы. Итак, что вам нужно сделать, удалить все таблицы вручную из базы данных. Я использовал базу данных sqlite, и я удалил миграцию, пользователей, вопросы, учителя, password_resets все таблицы, которые были сгенерированы командой migrate. Затем я побежал composer dumpautoload. Затем я снова выполнил команду php artisan migrate после внесения изменений в файлы, и все было в порядке. Так что в основном удаление таблицы миграции решает проблему.

0

Во-первых, проверьте, что класс по-прежнему ссылается где-то делая полный поиск в папке вашего проекта, а затем, если это не так, попробуйте запустить:

php artisan clear-compiled

+0

Пробовал выше команду. На самом деле я где-то читал, чтобы отказаться от таблицы, поэтому я даже сбросил таблицу из базы данных, чтобы начать заново. Я побежал над командой. Но теперь он все еще дает ту же ошибку. И когда я пытаюсь просто использовать 'php artisan migrate', он говорит« Ничего мигрировать » –

+0

Но вы искали в своей папке проекта для класса? Может быть, вы забыли ссылку на класс где-нибудь? –

1

Когда вы используете refresh свои миграции, Laravel просматривает вашу таблицу migrations и использует значения там, чтобы загрузить файлы миграции в откат.

Поскольку вы вручную удалили файл миграции, он никогда не удалялся из вашей таблицы migrations. Вам придется вручную удалить строку в этой таблице для данного файла миграции.

Смежные вопросы