【问题标题】:Alias in KNEX with Postgres dbKNEX 中的别名与 Postgres db
【发布时间】:2021-02-19 22:36:52
【问题描述】:

knexjs 中的代码如下所示

.select("resources.id")

会被翻译成下面的SQL

SELECT "RESOURCES"."ID"

但 PostgreSQL 仅将 RESOURCES.ID 识别为有效列,而不将"RESOURCES"."ID" 识别为有效列

这是一个已知问题吗?除了使用 SQL raw 有什么建议吗?

【问题讨论】:

  • "RESOURCES"."ID""resources"."id" 的名称不同,您需要说服 Knex 摆脱愚蠢的双引号或将所有内容都写成小写。 postgresql.org/docs/current/…

标签: postgresql knex.js


【解决方案1】:

您需要使用 wrapIdentifier 删除引号

const knex = require('knex')({
    client: 'pg',
    wrapIdentifier: (value, origImpl, queryContext) => value});

http://knexjs.org/#Installation-wrap-identifier

【讨论】:

    猜你喜欢
    • 2019-07-15
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 2015-08-27
    • 2020-07-14
    • 2019-05-04
    • 1970-01-01
    相关资源
    最近更新 更多