Pau*_*iro 8 elixir ecto phoenix-framework
我有一个带有电子邮件字段的用户模型.现在我想使其独一无二,因此,根据文档,我需要申请:
cast(user, params, ~w(email), ~w())
|> unique_constraint(:email)
Run Code Online (Sandbox Code Playgroud)
另外,我应该在迁移中定义唯一索引:
create unique_index(:users, [:email])
Run Code Online (Sandbox Code Playgroud)
问题是,当我尝试在迁移中定义这个,同时添加更多字段时,它不起作用,现在我试图用这个定义迁移create unique_index(:users, [:email])并且它创建了一个错误:
[info] create index users_email_index
** (Postgrex.Error) ERROR (unique_violation): could not create unique index "users_email_index"
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
Gaz*_*ler 12
当表中已违反唯一约束时,可能会发生这种情况.
请检查您的用户表中是否已有重复的电子邮件地址.
您可以运行mix do ecto.drop, ecto.create, ecto.migrate以删除并重新创建数据库和表.