【发布时间】:2014-08-06 00:59:13
【问题描述】:
我正在使用带有 Nodejs 的 Seqeulize。
我的表名是“Users”,它有一列“userName”。我已将 ts 向量列命名为 userNameVector。在尝试创建列并设置触发器时,我不断收到错误“errorMissingColumn”。
显然它告诉我我的列“用户名”不存在,但我检查了三次,它确实存在。
来自节点控制台的日志如下:
Executing (default): ALTER TABLE "Users" ADD COLUMN "userNameVector" TSVECTOR
Executing (default): UPDATE "Users" SET "userNameVector" = to_tsvector('english', userName)
Executing (default): CREATE INDEX userName_search_idx ON "Users" USING gin("userNameVector");
Executing (default): CREATE TRIGGER userName_vector_update BEFORE INSERT OR UPDATE ON "Users" FOR EACH ROW EXECUTE PROCEDURE tsvector_update_trigger("userNameVector", 'pg_catalog.english', userName)
{ [Error: column "username" does not exist]
severity: 'ERROR',
code: '42703',
position: '62',
file: 'parse_relation.c',
line: '2655',
routine: 'errorMissingColumn',
sql: 'UPDATE "Users" SET "userNameVector" = to_tsvector(\'english\', userName)' }
【问题讨论】:
-
你应该在 Postgres 中使用 snake_case。
标签: postgresql full-text-search identifier quoting