Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie können Indizes bei einer Laravel-Migration auf Existenz geprüft werden?

Die Verwendung von "doctrine-dbal", das Laravel verwendet, ist eine bessere Lösung:

Schema::table('persons', function (Blueprint $table) {
    $sm = Schema::getConnection()->getDoctrineSchemaManager();
    $indexesFound = $sm->listTableIndexes('persons');

    if(array_key_exists("persons_body_unique", $indexesFound))
        $table->dropUnique("persons_body_unique");
});