如何编写迁移以撤消Laravel中的唯一约束?

我会这样做,使我的电子邮件字段在表中。unique

$table->unique('email');

我试过了

public function up()
{
    Schema::table('contacts', function(Blueprint $table)
    {
        $table->dropUnique('email');
    });
}

然后,当我运行php artisan migrate时,我得到了这个

enter image description here

它告诉我它不在那里,但我100%确定它在那里。

enter image description here

如何编写迁移以撤消该操作?


答案 1

你必须这样做$table->dropUnique('users_email_unique');

若要删除索引,必须指定索引的名称。默认情况下,Laravel 为索引分配一个合理的名称。只需连接表名、索引中列的名称和索引类型即可。


答案 2

这是放弃独特的更好方法。您可以在此处使用真实的列名。

$table->dropUnique(['email']);

推荐