如何删除' null:false'

时间:2015-02-02 17:07:42

标签: ruby-on-rails

我的用户' 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吗?

1 个答案:

答案 0 :(得分:2)

运行迁移后,rake db:migrate将不会重新运行。尝试:

rake db:migrate:redo

如果这是最近的迁移。

注意:如果已推送/部署迁移,则之后不应更改它,因为这会使其他人本地数据库与本地数据库不同步。它可能会导致这类问题,你会与很多人讨论“它对我有用,你的问题是什么?”。

简而言之 - 如果您必须更改现有迁移,请不要执行此操作并编写新迁移。