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

问题描述 投票:15回答:2

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

$table->unique('email');

我试过了

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

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

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

如何编写迁移来撤消?

php laravel laravel-4 laravel-5 database-migration
2个回答
27
投票

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

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


0
投票

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

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

推荐问答