我的用户' model有' email:string'。我添加了' null:false'到_create_users.rb并迁移。
t.string :email, null: false
之后,我删除了' null:false'从_create_users.rb开始运行rake db:migrate
。但是,' null:false'保留在schema.rb中。我想删除它。
我该怎么办?可以直接编辑shema.rb吗?
答案 0 :(得分:2)
运行迁移后,rake db:migrate
将不会重新运行。尝试:
rake db:migrate:redo
如果这是最近的迁移。
注意:如果已推送/部署迁移,则之后不应更改它,因为这会使其他人本地数据库与本地数据库不同步。它可能会导致这类问题,你会与很多人讨论“它对我有用,你的问题是什么?”。
简而言之 - 如果您必须更改现有迁移,请不要执行此操作并编写新迁移。