В Laravel 8.27 представлен новый метод after
для экземпляра миграции Blueprint, который позволяет одновременно добавлять несколько новых столбцов после существующего столбца:
Coming to Laravel next week: Add multiple columns after a specific column. pic.twitter.com/WzfW9mWCcY
— Mohamed Said (@themsaid) February 5, 2021
Ранее вам нужно было ссылаться на каждый новый столбец, чтобы получить правильный порядок — вы можете видеть, что after
прекрасно очищает этот код:
Schema::table('customers', function ($table) {
$table->string('address_line1')->after('password');
$table->string('address_line2')->after('address_line1');
$table->string('city')->after('address_line2');
});
Хотя исходный код написать несложно, метод after()
позволяет избежать повторяющихся вызовов after()
для каждого последующего нового столбца и дает хорошую абстракцию для добавления нескольких столбцов. . Сочетание этого с Laravel 8 миграция сквошингаи классы фабрики моделей, Laravel продолжает улучшать то, что уже является одним из лучших инструментов миграции, доступных в любой среде.
Если вы хотите узнать больше о том, как Laravel внедрили эту функцию, ознакомьтесь с запросом на включение #36145. Добавление нескольких столбцов после того, как существующий столбец станет доступен с выпуском v8.27.0.