我正在尝试从现有的postgres数据库中获取数据,该数据库中有几个表。与数据库的连接成功完成后,我似乎无法进行任何测试查询,例如
Model.findAll().then(table =>{ console.log(table)}
我尝试将模式名称附加到模型定义中,例如
const Model = sequelize.define('Schema.ABC', { ....}}
引发与标题提示相同的错误
我也尝试过将模式名称附加到查询中,但是会引发语法错误,并且代码无法执行
Model.findAll().then('Schema.ABC' => { console.log(Schema.ABC)}
如果该表确实需要附加模式名称,那么我也想知道如何实现。
下面是我的代码的一部分
const Model = sequelize.define('ABC',{
CompanyName: Sequelize.STRING,
createdAt: Sequelize.DATE,
updatedAt: Sequelize.DATE
},
{
// tableName: `"Schema"."ABC"`,
freezeTableName: true
});
...
Model.removeAttribute('id');
Model.findAll().then(ABC => {
console.log(ABC)
})
答案 0 :(得分:0)
您应该这样定义架构,使tableName
属性不加注释:
const ABC = sequelize.define('ABC',{
CompanyName: Sequelize.STRING,
createdAt: Sequelize.DATE,
updatedAt: Sequelize.DATE
},
{
freezeTableName: true,
tableName: 'ABC',
});
并在异步函数中使用它:
async function findAllABC() {
await ABC.findAll().then((result) => {
console.log(`The result is: '${result}'`);
});
}
findAllABC();