【发布时间】:2020-06-23 12:48:34
【问题描述】:
我使用 Nodejs 中的 SEQUELIZE 在 PostgreSQL 数据库中创建了一个 Account 表。我已经使用 npx 命令来创建表。
$ npx sequelize db:create
$ npx sequelize db:migrate
默认情况下,表是用双引号创建的。比如我要查看Account表中的条目,sql命令如下:
SELECT * FROM "Account";
我想删除表名中的双引号,即
SELECT * FROM Account;
在Sequelize Manual 中,我找到了一个选项 (options.quoteIdentifiers),它指出“设置为 false 以使 Postgres 上的表名和属性不区分大小写并跳过它们的双引号。”
当我在代码中应用此选项时,仍会使用双引号创建 Account 表。我不确定我是否犯了任何错误。请在下面检查我的代码。提前致谢。
var sequelize = new Sequelize(dbConfig.DB, dbConfig.USER, dbConfig.PASSWORD,
options.quoteIdentifiers = false,
{
host: dbConfig.HOST,
dialect: dbConfig.dialect,
pool: {
max: dbConfig.pool.max,
min: dbConfig.pool.min,
acquire: dbConfig.pool.acquire,
idle: dbConfig.pool.idle
}
},
);
module.exports = (sequelize, DataTypes) => {
const Account = sequelize.define('Account', {
epprojectname: DataTypes.STRING,
username: DataTypes.STRING,
projectid: DataTypes.STRING,
vendorparameters: DataTypes.STRING,
credentials: DataTypes.STRING,
author: DataTypes.STRING,
localnumber: DataTypes.STRING,
loginid: DataTypes.INTEGER,
}, {
freezeTableName: true,
},
);
【问题讨论】:
-
[options.quoteIdentifiers=true]用于不区分大小写,这意味着"Account"和"account"相同,它不会解决您的问题。请分享您使用" "创建表的数据库架构
标签: node.js postgresql sequelize.js