Я изменил имя своего файла миграции, обновил имя класса, запустил ‘composer dump-autoload’, а затем запустил ‘php artisan migrate: reset’.
Когда я запускаю это, я получаю ошибку:
[Symfony \ Component \ Debug \ Exception \ FatalErrorException] Класс ‘OldClassName’ не найден
Когда я ищу в этом проекте имя этого класса, все, что я нахожу, это упомянутое в журналах ошибок. Если я зайду в «autoload_classmap.php», строка с моим именем класса и именем файла миграции будет правильной (я скопировал и вставил поверх них только для уверенности).
Пока гуглил, люди предлагали запустить несколько других команд, которые у меня уже есть:
php artisan clear-cache
Vagrant reload
composer self-update
composer update
Как еще я должен устранить это?
Нашел проблему.
Проблема заключалась в том, что я запустил миграцию, поэтому моя старая таблица была создана с использованием моего старого имени таблицы / класса / и т. Д. Затем я изменил имя / класс файла миграции и попытался php artisan migrate:refresh
, Когда вы делаете refresh
он откатывает все ваши таблицы и затем перенастраивает их, поэтому, когда он попытался откатить мою старую таблицу, он не нашел ее (потому что я уже изменил имя), и он вышел из себя. Чтобы это исправить, мне пришлось переименовать его в исходное имя, запустить php artisan migrate:rollback
(все таблицы удалены), а затем запустить php artisan migrate:refresh
перезагрузить все таблицы, включая мою таблицу с новым именем.
Я столкнулся с этой же проблемой и решил ее, зайдя в таблицу миграций базы данных и удалив имя старой миграции.
Проблема с ответом выше заключалась в том, что мне пришлось хранить файл миграции с неправильным именем.