【发布时间】:2016-06-09 11:13:45
【问题描述】:
假设我有一个名为 fruit 的 db 表,如下所示:
id name
1 ““
2 “"
3 ““
4 ““
5 ""
6 melon
在这种情况下,我需要编写一个迁移来将空字符串更改为 null 而不会影响melon。
会是这几行吗?
def change
update_column fruits, :name, null if :name => ""
end
我猜是非常基本的东西,但我有点卡在这里。 这里最好的方法是什么?
【问题讨论】:
-
为什么不直接做一个
update_all,Fruit.where(name: "").update_all(name: nil) -
@lusketeer 你的意思是在迁移中使用它?
-
任何地方,rails 控制台,迁移,你真的不需要迁移,但如果想保持一致,请将其添加到迁移中
-
@lusketeer 是的,一致性是这里的游戏名称 :-),它在迁移中发挥了重要作用,将其放入答案中,我会接受。
标签: ruby-on-rails database-migration rails-migrations