Laravel — Изменено имя / класс файла миграции, миграция: сброс все еще ищет старый класс

Я изменил имя своего файла миграции, обновил имя класса, запустил ‘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

Как еще я должен устранить это?

3

Решение

Нашел проблему.

Проблема заключалась в том, что я запустил миграцию, поэтому моя старая таблица была создана с использованием моего старого имени таблицы / класса / и т. Д. Затем я изменил имя / класс файла миграции и попытался php artisan migrate:refresh, Когда вы делаете refresh он откатывает все ваши таблицы и затем перенастраивает их, поэтому, когда он попытался откатить мою старую таблицу, он не нашел ее (потому что я уже изменил имя), и он вышел из себя. Чтобы это исправить, мне пришлось переименовать его в исходное имя, запустить php artisan migrate:rollback (все таблицы удалены), а затем запустить php artisan migrate:refresh перезагрузить все таблицы, включая мою таблицу с новым именем.

1

Другие решения

Я столкнулся с этой же проблемой и решил ее, зайдя в таблицу миграций базы данных и удалив имя старой миграции.

Проблема с ответом выше заключалась в том, что мне пришлось хранить файл миграции с неправильным именем.

0

По вопросам рекламы [email protected]