gpt4 book ai didi

postgresql - Sequelize模型不区分大小写

转载 作者:行者123 更新时间:2023-11-29 11:44:46 42 4
gpt4 key购买 nike

我正在使用 sequelize 在 Redshift 中进行查询。

但是 Redshift 对表列名不区分大小写,因此所有表名都是小写的。sequelize 模型不区分大小写。因此,当我执行查询 findById 时,它会执行此查询:

SELECT "id", "userId", "summonerId", "name", "profileIconId", "summonerLevel", "revisionDate", "createdAt", "updatedAt" FROM "Lol" AS "Lol" WHERE "Lol"."id" = '463d118c-2139-4679-8cdb-d07249bd7777222';

如果我在 Redshift 中执行查询,它会起作用,但 sequelize 只会给我返回 id 和 name 列名称,因为只有它们在模型中具有小写名称。

那么如何让 sequelize 不区分大小写呢?我尝试了 field 选项,但不起作用。

所以我的模型是:

lol = sequelize.define('Lol', {
id: {
type: Sequelize.STRING,
allowNull: false,
unique: true,
primaryKey: true,
field: 'id'
},
userId: {
type: Sequelize.STRING,
allowNull: false,
field: 'userid'
},
summonerId: {
type: Sequelize.INTEGER,
allowNull: false,
field: 'summonerid'
},
name: {
type: Sequelize.STRING,
allowNull: false,
field: 'name'
},
profileIconId: {
type: Sequelize.INTEGER,
allowNull: false,
field: 'profileiconid'
},
summonerLevel: {
type: Sequelize.INTEGER,
allowNull: false,
field: 'summonerlevel'
},
revisionDate: {
type: Sequelize.BIGINT,
allowNull: false,
field: 'revisiondate'
},
createdAt: {
type: Sequelize.DATE,
allowNull: false,
field: 'createdat'
},
updatedAt: {
type: Sequelize.DATE,
allowNull: false,
field: 'updatedat'
}
}, {
freezeTableName: true,
tableName: 'Lol'
})

最佳答案

找到了方法。

现在这是我使 Redshift 与 Sequelize 一起工作的完整设置:

var Sequelize = require('sequelize');
Sequelize.HSTORE.types.postgres.oids.push('dummy'); // avoid auto-detection and typarray/pg_type error
AWS.config.update({accessKeyId: 'accessKeyId', secretAccessKey: 'secretAccessKey', region: "xxxxxx"});
var sequelize = new Sequelize('database', 'username', 'password', {
host: 'hostname',
dialect: 'postgres',
port: '5439',
pool: {
max: 10,
min: 0,
idle: 20000
},
returning: false, // cause sql error
quoteIdentifiers: false, // set case-insensitive
keepDefaultTimezone: true, // avoid SET TIMEZONE
databaseVersion: '8.0.2' // avoid SHOW SERVER_VERSION

});

关于postgresql - Sequelize模型不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42121521/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com