27

我正在尝试将列“isGroup”的值更改为值“public”。

我创建了一个迁移:

Post.connection.execute("update Posts set isgroup='public'")

但是,我收到以下错误:

PGError: ERROR:  column "isgroup" of relation "posts" does not exist

不幸的是,我在 connection.execute 迁移的同时运行了创建迁移的列。但是,Heroku 上确实存在“isGroup”列,所以奇怪的是该列没有显示为出现。

有什么建议吗?

4

1 回答 1

39

如果您确定该列isGroup存在,那么您应该像这样引用它:

UPDATE posts SET "isGroup" = 'public'

请注意,默认情况下,PostgreSQL 会将所有未加引号的命名为小写。

为了避免这种混淆和引用的必要性,您可能需要重命名isGroupisgroupusing ALTER TABLE ... RENAME COLUMN ...

于 2013-01-07T03:18:24.150 回答