我使用以下命令生成了迁移:
rails generate migration add_tier_to_user tier:string
为用户添加等级,例如' admin'或者'学生'。
之后,db:rake
已停止工作并返回错误。
迁移文件:
class AddTierToUser < ActiveRecord::Migration
def change
add_column :users, :tier, :string
end
end
错误:
ActiveRecord::RecordInvalid: Validation failed: Email has already been taken
答案 0 :(得分:0)
根据你得到的错误判断,我认为这发生了:
User
值的email
条记录。email
字段添加了唯一性验证。如果我是对的,问题不是由迁移本身造成的,而是由于当您通过rake db:something
加载Rails环境时{{1}正在自动创建或更新。