您好我有一个rails应用程序,其中有一个名为“listing”的表。该表有一个名为“city”的列。但是该列现在没有数据,一切都为空。我想将字符串:“Not Available”添加到此表中所有行的列值。我怎么能这样做?
我尝试使用sql将其直接添加到数据库中,但它不起作用。
所以我想我必须使用rails migration命令来实现这一目标。但我找不到确切的命令。我知道它是这样的......
rails generate migration ??
有人可以帮我一把吗?
由于
答案 0 :(得分:2)
在告诉您如何使用Rails实际执行此操作之前,我会请您考虑将此类表示逻辑硬编码到数据库模式中。您可以在模型级别执行此操作,只需覆盖此字段的访问者。
def city
read_attribute("city") || "Not Available"
end
将此信息放入数据库可能会导致问题。例如,您将无法再快速判断哪些行具有city
的默认值。
如果您确定要执行此操作,请在迁移中添加:
change_column :listings, :city, :default => "Not Available"