РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplrSpIxDrp 106 of 210 menu

Удаление индексов в Laravel

Если индекс больше не нужен или его нужно пересоздать с другими параметрами, его удаляют в миграции через Schema::table.

Для уникального индекса - метод dropUnique, для обычного - dropIndex. Передают массив с именем колонки - Laravel сам вычислит имя индекса:

<?php Schema::table('users', function (Blueprint $table) { $table->dropUnique(['email']); $table->dropIndex(['city']); }); ?>

Пример миграции, которая снимает старые индексы перед изменением структуры:

<?php public function up(): void { Schema::table('users', function (Blueprint $table) { $table->dropIndex(['city']); $table->dropUnique(['email']); }); } public function down(): void { Schema::table('users', function (Blueprint $table) { $table->index('city'); $table->unique('email'); }); } ?>

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

Напишите миграцию, которая удаляет индекс по полю email.

Зачем в down снова создавать удаленные индексы?

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