我的rails 4应用程序中有一个用户模型。
我已进入我的控制台并完成了:
User.destroy_all
User.count向我验证没有用户。然后我尝试再次注册,我被允许这样做,但是一旦我确认我的电子邮件并尝试登录,我就会收到错误消息:
ERROR: duplicate key value violates unique constraint "index_users_on_email"
DETAIL: Key (email)=(angus@gmail.com) already exists.
如何修复此索引记录,以便在运行User.destroy_all方法时也删除这些记录?
答案 0 :(得分:0)
为确保您没有此问题,请确保在销毁用户时删除所有相关数据。
class UpdateUserForeignKey < ActiveRecord::Migration
def change
remove_foreign_key :users, :email
add_foreign_key :users, :email, on_delete: :cascade
end
end
有关Rails外键的更多信息 http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/add_foreign_key