【问题标题】:how to manually change record in heroku database如何手动更改heroku数据库中的记录
【发布时间】:2015-07-28 12:58:58
【问题描述】:

我在 heroku 中托管了一个 rails 应用程序。我有一个带有内容列的问题表。内容列包含问题的单词。例如,如果您查询。 Question.first.content,你会得到“你好,你好吗?”。我总共有 8 个问题。我想手动进入数据库并更改这些问题。

我尝试使用以下命令在 heroku 上运行终端:

heroku pg:psql

我使用此查询来更改记录的内容列

UPDATE Questions
SET content="What country does this story orginate? (Japan)"  

但是我收到此错误消息:

错误:“这个故事起源于哪个国家?(日本)”列不存在
LINE 2: SET content="这个故事起源于哪个国家?(日本)"...

更改问题内容列的正确查询是什么?

【问题讨论】:

标签: postgresql ruby-on-rails-4 heroku heroku-toolbelt


【解决方案1】:

SQL 对字符串文字使用单引号,对标识符(例如表名和列名)使用双引号,这就是您收到有关未知列的投诉的原因。修复很简单,对字符串文字使用单引号:

update questions set content = '...' where ...

有些数据库允许您对字符串使用双引号,但这是非标准的,应避免使用。

【讨论】:

    【解决方案2】:

    事实证明我可以做到heroku run console。一旦进入控制台,我就可以进行活动记录查询,例如Question.find(1).update_attributes(:content=>'how are you?'),它会更新。无论出于何种原因,heroku run rails console 没有使用活动记录查询更新记录,而是返回查询成功。

    【讨论】:

      猜你喜欢
      • 2021-07-19
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      相关资源
      最近更新 更多