Безопасное удаление миграции в Laravel

В Laravel появляется команда для создания переноса, но не удаление.

Создать команду миграции:

php artisan migrate:make create_users_table

Если я хочу удалить перенос, могу ли я просто безопасно удалить соответствующий файл миграции в папке базы данных/миграции?

Файл миграции:

2013_05_31_220658_create_users_table

Ответ 1

Я случайно создал миграцию с плохим именем (команда: php artisan migrate: make). Я не выполнял миграцию (php artisan migrate), поэтому решил удалить ее. Мои шаги:

  • Вручную удалить файл миграции в приложении /database/migrations/my _migration_file_name.php
  • Reset файлы автозагрузки композитора: композитор dump-autoload
  • Relax

Если вы выполнили миграцию (миграция php-artisan), вы можете сделать это:

a) Выполнить migrate:rollback - это правильный способ отменить последнюю миграцию (Thnx @Jakobud)

b) Если migrate:rollback не работает, сделайте это вручную (я помню ошибки с миграцией: откат в предыдущих версиях):

  • Вручную удалить файл миграции в приложении /database/migrations/my _migration_file_name.php
  • Reset файлы автозагрузки композитора: композитор dump-autoload
  • Измените свою базу данных: удалите последнюю запись из таблицы миграции

Ответ 2

Если миграция выполнена (read: migrated), вам следует отменить миграцию, чтобы очистить историю из таблицы базы данных. После того, как вы откат, вы сможете безопасно удалить файл миграции, а затем продолжить миграцию.

Ответ 3

Вероятно, вам нужно также удалить запись из таблицы миграции.

Ответ 4

Я случайно создал два раза create_users_table. Он переопределил некоторые классы и повернул откат в ErrorException.

Что вам нужно сделать, это найти autoload_classmap.php в папке поставщика/композитора и найти конкретную строку кода, например

'CreateUsersTable' => $baseDir . '/app/database/migrations/2013_07_04_014051_create_users_table.php',

и изменить путь. Тогда ваш откат должен быть хорошим.

Ответ 5

попробуйте следующее:

php artisan optimize