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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何编写迁移来撤消Laravel中的唯一约束?相关的知识,希望对你有一定的参考价值。

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

$table->unique('email');

我试过了

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

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

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

如何编写迁移来撤消?

答案

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

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

另一答案

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

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

以上是关于如何编写迁移来撤消Laravel中的唯一约束?的主要内容,如果未能解决你的问题,请参考以下文章

laravel迁移文件

如何在 Laravel 中处理具有唯一性的迁移回滚中的现有记录?

laravel_5《数据库迁移》

模式构建器 laravel 迁移在两列上是唯一的

:完整性约束违规:1452 无法添加或更新子行:laravel 迁移中的外键约束失败

EF Core 迁移:在存在时删除唯一约束