Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 设置唯一的_约束_Elixir_Phoenix Framework_Ecto - Fatal编程技术网

Elixir 设置唯一的_约束

Elixir 设置唯一的_约束,elixir,phoenix-framework,ecto,Elixir,Phoenix Framework,Ecto,我有一个带有电子邮件字段的用户模型。现在我想让它独一无二,因此,根据文档,我需要申请: cast(user, params, ~w(email), ~w()) |> unique_constraint(:email) 此外,我应该在迁移中定义唯一索引: create unique_index(:users, [:email]) 问题是,当我尝试在迁移中定义此项,同时添加更多字段时,它不起作用,现在我尝试使用此create unique_index(:users,[:email])定义迁

我有一个带有电子邮件字段的用户模型。现在我想让它独一无二,因此,根据文档,我需要申请:

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"

我做错了什么?

当表中已违反唯一约束时,可能会发生这种情况

请检查您的用户表中是否没有重复的电子邮件地址


您可以运行
mix do exto.drop、exto.create、exto.migrate
删除并重新创建数据库和表。

Postgres的实际错误响应是什么?您发布的是postgrex图书馆的,谢谢。应该是这样的,因为在执行您的建议之后,数据库被清理了,现在它正在工作。