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

我创建了一个迁移:

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

但是,出现以下错误:

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

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

有什么建议吗?

最佳答案

如果您确定isGroup列存在,则应将其引用为:

UPDATE posts SET "isGroup" = 'public'

请注意,PostgreSQL默认情况下将所有未加引号的名称折叠成小写。

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

关于ruby-on-rails-3 - PGError:错误:关系列不存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14189254/

10-12 01:07