2015-09-04 15 views
7

E-posta alanına sahip bir Kullanıcı modelim var. Şimdi onu benzersiz yapmak istiyorum, bu nedenle, belgelendirmesi olarak, ben uygulamak gerekir: Bir göç benzersiz bir dizin tanımlamak gerekir,Özgün_konu ayarlama Ecto

cast(user, params, ~w(email), ~w()) 
|> unique_constraint(:email) 

Ayrıca:

create unique_index(:users, [:email]) 

sorun olduğunu bir göç bu tanımlamaya çalışırken biraz daha fazla alan eklerken işe yaramadı ve şimdi sadece bu create unique_index(:users, [:email]) bir göç tanımlamak çalışıyorum ve bir hata yaratıyor: orada ne yapıyorsun

[info] create index users_email_index 
** (Postgrex.Error) ERROR (unique_violation): could not create unique index "users_email_index" 

g yanlış mı?

+0

Postgres'in gerçek hata yanıtı nedir? Gönderdiğiniz mesaj, postgrex kütüphanesinden – emaillenin

cevap

11

Bu, benzersiz kısıtlama, tabloda zaten ihlal edildiğinde ortaya çıkabilir.

Kullanıcı masanızda zaten e-posta adreslerinin bulunmadığını kontrol edin.

Veritabanı ve tabloları silmek ve yeniden oluşturmak için mix do ecto.drop, ecto.create, ecto.migrate'u çalıştırabilirsiniz.

+0

Teşekkür ederiz. Önerinizi yürüttükten sonra veritabanı temizlenmiş ve şimdi çalışıyor olması gerektiği olmalıydı. –

İlgili konular