Предположим, что мы поддались соблазну и в одной миграции создали таблицу и индексы в ней. Тогда при опечатке в функции создания индекса миграция будет прервана выброшенным прерыванием, и повторно запустить миграцию не получится так как таблица уже создана. Тут если есть возможность следует либо использовать механизм транзакций, либо делать множество мелких миграций.
safeUp/safeDown же. Обрамляет миграцию в транзакцию.
Помню, как года два назад ехал на велосипеде с включенными яндекс-картами, так они в 2 часа ночи на абсолютно пустой улице нарисовали пробку. Но, видимо, с тех пор много поменялось.
«У нас было 105 восьмибитных байт, 15 или 16 float регистров памяти, 2 стека для вызовов подпрограмм, обратная польская запись и клавиатура клавиш на 40. Не то, чтобы достаточно для программирования, но если начал — трудно остановиться. Единственное, что внушало опасение — это перфокарты. Я знал, что рано или поздно мы перейдем и на эту дрянь.»
php -S localhost:8000
Ничего страшного.
safeUp/safeDown же. Обрамляет миграцию в транзакцию.
Как и шляпа не глядит в окно на природу.