You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js新手求助:Sequelize查询PostgreSQL表报错解决方案

解决Sequelize找不到PostgreSQL表的问题

嘿,我来帮你搞定这个问题!你遇到的报错是因为Sequelize的默认表名规则和你实际的表名不匹配导致的。

问题原因

Sequelize默认会把你定义的模型名称自动复数化,作为对应的数据库表名。你定义的模型是apisList,它自动把表名处理成了apisLists,但你的数据库里实际存在的是apiList表,所以就会抛出relation "apisLists" does not exist的错误。

解决方案

最简单直接的办法就是在定义模型时显式指定实际的表名,在define方法的第三个参数里添加tableName配置:

const apisListModel = sequelize.define('apisList', {}, {
  tableName: 'apiList' // 这里指定你数据库中真实的表名
});

另外,我注意到你的then回调里只做了JSON.stringify(data)但没有输出结果,你可以加上console.log来查看返回的数据:

apisListModel.findAll().then((data)=>{ 
  console.log(JSON.stringify(data, undefined, 2)); 
},(e)=>{ 
  console.log(e); 
});

这样修改后,Sequelize就会正确访问你的apiList表,而不是去找自动生成的复数表名啦!

内容的提问来源于stack exchange,提问作者Sundeep Badhotiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:30:11