0

嗨,我有一个 Rails 应用程序,其中有一个名为“列表”的表。该表有一个名为“city”的列。但是该列现在没有数据,一切都为空。我想将字符串:“不可用”添加到此表中所有行的列值中。我怎样才能做到这一点?

我尝试使用 sql 将其直接添加到数据库中,但它不起作用。

所以我想我必须使用 rails 迁移命令来实现这一点。但我找不到确切的命令。我知道它是这样的......

rails generate migration ??

有人可以帮帮我吗?

谢谢

4

1 回答 1

2

在告诉您如何使用 Rails 实际执行此操作之前,我会要求您考虑将这种表示逻辑硬编码到您的数据库模式中。您可以在模型级别执行此操作,只需覆盖该字段的访问器。

def city
  read_attribute("city") || "Not Available"
end

将此信息放入数据库可能会导致问题。例如,您将无法再快速判断哪些行具有city.

如果您确实决定要执行此操作,请在迁移中添加:

change_column :listings, :city, :default => "Not Available"
于 2012-04-21T16:09:23.920 回答