В Laravel появляется команда для создания переноса, но не удаление.
Создать команду миграции:
php artisan migrate:make create_users_table
Если я хочу удалить перенос, могу ли я просто безопасно удалить соответствующий файл миграции в папке базы данных/миграции?
Файл миграции:
2013_05_31_220658_create_users_table
Я случайно создал миграцию с плохим именем (команда: php artisan migrate: make). Я не выполнял миграцию (php artisan migrate), поэтому решил удалить ее. Мои шаги:
Если вы выполнили миграцию (миграция php-artisan), вы можете сделать это:
a) Выполнить migrate:rollback
- это правильный способ отменить последнюю миграцию (Thnx @Jakobud)
b) Если migrate:rollback
не работает, сделайте это вручную (я помню ошибки с миграцией: откат в предыдущих версиях):
Если миграция выполнена (read: migrated), вам следует отменить миграцию, чтобы очистить историю из таблицы базы данных. После того, как вы откат, вы сможете безопасно удалить файл миграции, а затем продолжить миграцию.
Вероятно, вам нужно также удалить запись из таблицы миграции.
Я случайно создал два раза create_users_table. Он переопределил некоторые классы и повернул откат в ErrorException.
Что вам нужно сделать, это найти autoload_classmap.php в папке поставщика/композитора и найти конкретную строку кода, например
'CreateUsersTable' => $baseDir . '/app/database/migrations/2013_07_04_014051_create_users_table.php',
и изменить путь. Тогда ваш откат должен быть хорошим.
попробуйте следующее:
php artisan optimize
migrate:rollback
чтобы откатить миграцию, затем удалить файл миграции и выгрузить автозагрузку. Не нужно взламывать БД или таблицу миграции.