【发布时间】:2019-06-16 08:05:21
【问题描述】:
我正在尝试将社交登录与我现有的 laravel 应用程序集成。我正在尝试将电子邮件和密码更改为可为空,但我还需要电子邮件保持唯一性。在执行我的迁移时,我收到重复键名“users_email_unique”的错误
Laravel 5,已经解决了我在更改列时遇到的枚举问题。
Schema::table('users', function (Blueprint $table) {
$table->string('email')->unique()->nullable()->change();
$table->string('password')->nullable()->change();
});
Illuminate\Database\QueryException : SQLSTATE[42000]: 语法错误或访问冲突:1061 Duplicate key name 'users_email_unique' (SQL: alter table users add unique users_email_unique(email))
异常跟踪:
1 Doctrine\DBAL\Driver\PDOException::("SQLSTATE[42000]: 语法错误或访问冲突:1061 Duplicate key name 'users_email_unique'")
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:119
2 PDOException::("SQLSTATE[42000]: 语法错误或访问冲突:1061 Duplicate key name 'users_email_unique'")
/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:117
编辑
如果我从电子邮件中删除 Unique(),它是否会保持唯一性,因为它之前是在不同的迁移中设置的?
【问题讨论】:
标签: laravel doctrine migration dbal