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

kyo*_*kyo 16 php database-migration laravel laravel-4 laravel-5

我这样做是为了unique在表格中创建我的电子邮件字段.

$table->unique('email');

我试过了

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

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

在此输入图像描述

它告诉我它不在那里,但我百分百肯定它就在那里.

在此输入图像描述

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

Ali*_*ani 37

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

要删除索引,必须指定索引的名称.Laravel默认为索引指定一个合理的名称.只需连接表名,索引中列的名称和索引类型即可.


Mun*_*han 5

这是删除唯一的更好方法。您可以在此处使用实际的列名。

$table->dropUnique(['email']);
Run Code Online (Sandbox Code Playgroud)