Выполняются ли откаты миграции Laravel 4 в обратном порядке?

#laravel #migration

#laravel #миграция

Вопрос:

Я проверил документы, но не могу подтвердить это: если вы запускаете php artisan migrate:rollback, выполняются ли различные команды down () в обратном порядке? Например, если у меня есть файлы миграции:

 2014-07-01_first_migration.php
2014-07-01_second_migration.php
2014-07-01_third_migration.php
 

Выполняется ли откат третьей миграции-> вниз (), затем второй миграции-> вниз () и, наконец, первой миграции-> вниз ()?

Комментарии:

1. Так и должно быть — в противном случае могут возникнуть несоответствия и ошибки. Я не пробовал, но не могу представить, что было бы иначе.

Ответ №1:

Короткий ответ — да, именно так это и работает.

Более длинный ответ — да. Это связано с тем, что миграция может включать в себя такие вещи, как простое добавление столбца в таблицу. Если бы вы не запускали их в обратном порядке, таблица была бы удалена до удаления столбца!

Есть несколько способов отменить ваши миграции. Это отменит только последнюю операцию миграции:

 php artisan migrate:rollback
 

И это отменит все миграции обратно в вашу исходную базу данных:

 php artisan migrate:reset
 

Комментарии:

1. Хорошо — это то, что я предполагал, но я не смог найти ничего конкретного, говорящего об этом. Спасибо!