1. ホーム
  2. ruby-on-rails-3

[解決済み] PGError: エラー: リレーションのカラムが存在しない

2022-02-13 17:14:53

質問

カラムの値 "isGroup" を値 "public" に変更しようとしています。

マイグレーションを作成しました。

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

しかし、以下のようなエラーが発生します。

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

残念ながらconnection.executeのマイグレーションと同時にcolumn creatingのマイグレーションを実行してしまっていました。 しかし、"isGroup"のカラムはHeroku上に存在するので、カラムが表示されないのはおかしいです。

何かアドバイスはありますか?

解決方法は?

もし、そのカラムが isGroup が存在する場合は、次のように引用します。

UPDATE posts SET "isGroup" = 'public'

PostgreSQLはデフォルトで引用符で囲まれていない名前を全て小文字に折り返していることに注意してください。

このような混乱を避けるため、また引用符で囲む必要がないようにするために isGroup から isgroup を使って ALTER TABLE ... RENAME COLUMN ... .