0
我想在我的Rails应用程序使用的设计,但是当我去点迁移我的数据库设计给了我这个错误时错误:设计罚球和迁移
rake db:migrate
== 20141016065244 AddDeviseToPatients: migrating ==============================
-- change_table(:patients)
-> 0.0127s
-- add_index(:patients, :email, {:unique=>true})
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
SQLite3::ConstraintException: UNIQUE constraint failed: patients.email: CREATE UNIQUE INDEX "index_patients_on_email" ON "patients" ("email")
我试图使用设计的一个已经启动的项目,其中“用户”表称为“患者”。
这是一个表:
"Patient(id: integer, name: string, loginName: string, login: integer, created_at: datetime, updated_at: datetime)"
那么简单的错误我在做什么? :)
这里的移民文件:https://gist.github.com/macmattias/1c81717dbf218d18dc72
是的,我没有它,但迁移想要添加它。 – 2014-10-16 10:14:04
ofcourse迁移想要一个电子邮件字段,因为电子邮件字段是'登录名'。有一个关于使用其他字段而不是电子邮件的问题:http://stackoverflow.com/questions/10866667/devise-authenticating-with-username-instead-of-email – 2014-10-16 10:16:34
和迁移的错误是因为add_index:患者,:电子邮件,独特:真实。你不能在不存在的字段上添加索引。 – 2014-10-16 10:17:56