Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pplrPmMgFO 92 of 252 menu
◀ ▶

Порядок полей в миграциях Laravel

При работе с таблицей в PMA или другом инструменте колонки отображаются в определенном порядке. На работу приложения это обычно не влияет, но для удобства просмотра структуры поля иногда хотят переставить.

В Laravel порядок колонок можно задать при изменении поля через Schema::table. Для этого есть два метода - first и after. Они работают только с MySQL и MariaDB; в SQLite и PostgreSQL порядок полей так не меняют.

Метод first помещает колонку первой в таблице - сразу после служебных полей, если они есть. Его пишут в цепочке перед change:

<?php public function up(): void { Schema::table('posts', function (Blueprint $table) { $table->string('title')->first()->change(); }); } ?>

Метод after ставит колонку после указанного поля. В параметр передают имя уже существующей колонки:

<?php public function up(): void { Schema::table('posts', function (Blueprint $table) { $table->string('title')->after('id')->change(); }); } ?>

Оба метода используют при изменении существующего поля, а не при первом создании таблицы. Новую колонку тоже можно сразу добавить после нужного поля - для этого after указывают в миграции на добавление.

В таблице с юзерами переместите поле name на первое место.

Добавьте к таблице с юзерами новое поле sex после поля id.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить