Так что я только начал играть с Laravel 5.1. Я создал модель с миграцией под названием «учителя». Затем я вручную удалил файл модели, который был Teachers.php, который содержал класс Teachers. Теперь, когда я пытаюсь откатиться, я получаю следующую ошибку:
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'CreateTeachersTable' not found
Я старался composer dump-autoload
а также php artisan migrate:refresh
а также php artisan migrate:reset
но он продолжает давать вышеуказанную ошибку. Я просто хочу начать заново. Как все сбросить?
Хорошо. Итак, я нашел решение. Так что если вы случайно удалили любой файл модели или файл миграции без использования php artisan migrate:rollback
вышеуказанная команда и любая команда переноса вызовут проблемы. Итак, что вам нужно сделать, это удалить все таблицы вручную из базы данных. Я использовал базу данных sqlite и удалил миграции, пользователей, вопросы, учителей, password_resets все таблицы, которые были сгенерированы командой migrate. Потом я побежал composer dumpautoload
, Потом я побежал php artisan migrate
После внесения изменений в файлы снова выполните команду, и все вернется в норму.
Таким образом, удаление таблицы миграции решает проблему.
Когда ты refresh
ваши миграции, Laravel смотрит на ваш migrations
таблица и использует значения там, чтобы загрузить файлы миграции для отката.
Поскольку вы вручную удалили файл миграции, он никогда не удалялся из вашего migrations
Таблица. Вам придется вручную удалить строку в этой таблице для данного файла миграции.
Сначала проверьте, есть ли где-то ссылки на этот класс, выполнив полный поиск в папке вашего проекта, а затем, если это не так, попробуйте выполнить:
php artisan clear-compiled