更新Heroku上的特定记录模型

时间:2014-03-14 21:37:09

标签: ruby-on-rails ruby model migration mongoid

我在本地更新了我的用户模型,并将其推送到我的heroku环境。

但是,现在我遇到了一个老用户没有所有新用户所拥有的字段的问题。

heroku console如何专门为缺少必填字段的单个用户添加字段?我也使用mongoid

1 个答案:

答案 0 :(得分:0)

有多种选择:

  1. 如果您不需要查询此新字段,只需在该字段中添加:default => whatever值即可。这将为新实例设置默认值,并为没有该字段的现有模型提供默认值。

  2. 如果您确实需要查询此字段,并且想要为没有该字段的所有现有文档添加默认值,则可以使用:$exists query查找它们并{{ 1}}修复它们:

    update_all

    这将在幕后进行M.where(:missing_field.exists => false).update_all(:missing_field => desired_value) 更新,因此只会修改:$set => { :missing_field => desired_value }

  3. 如果只有一个并且您知道它是哪个,那么只需抓住它,更新值并保存:

    :missing_field
  4. 如果您想直接与数据库对话,请使用m = M.find(known_id) m.missing_value = desired_value m.save find与集合:

    update_all