设置 unique_constraint Ecto
Setting unique_constraint Ecto
我有一个带有电子邮件字段的用户模型。现在我想让它独一无二,所以,根据文档,我需要申请:
cast(user, params, ~w(email), ~w())
|> unique_constraint(:email)
此外,我应该在迁移中定义唯一索引:
create unique_index(:users, [:email])
问题是,当我尝试在迁移中定义它并添加更多字段时它不起作用,现在我试图只用这个 create unique_index(:users, [:email])
定义迁移并且它正在创建一个错误:
[info] create index users_email_index
** (Postgrex.Error) ERROR (unique_violation): could not create unique index "users_email_index"
我做错了什么?
当您的 table.
中已经违反唯一约束时,可能会发生这种情况
请检查您的用户中没有重复的电子邮件地址 table。
您可以 运行 mix do ecto.drop, ecto.create, ecto.migrate
删除并重新创建数据库和 tables。
我有一个带有电子邮件字段的用户模型。现在我想让它独一无二,所以,根据文档,我需要申请:
cast(user, params, ~w(email), ~w())
|> unique_constraint(:email)
此外,我应该在迁移中定义唯一索引:
create unique_index(:users, [:email])
问题是,当我尝试在迁移中定义它并添加更多字段时它不起作用,现在我试图只用这个 create unique_index(:users, [:email])
定义迁移并且它正在创建一个错误:
[info] create index users_email_index
** (Postgrex.Error) ERROR (unique_violation): could not create unique index "users_email_index"
我做错了什么?
当您的 table.
中已经违反唯一约束时,可能会发生这种情况请检查您的用户中没有重复的电子邮件地址 table。
您可以 运行 mix do ecto.drop, ecto.create, ecto.migrate
删除并重新创建数据库和 tables。