续集:列"<column_name>"不存在(Postgresql)



我试图使用sequelize对postgres数据库进行查询,但在查询时,我得到了一个名为:column"的错误;createdAt";不存在表格的样子:

Column     |          Type          |
id            | integer                |
title         | character varying(200) |
technologies  | character varying(200) |
budget        | character varying(20)  |
description   | text                   |
contact_email | character varying(100) |
createdat     | date                   |
updatedat     | date                   |

索引:"gigs_pkey";主密钥,btree(id(

路由器:gigs.js

import express from "express";
import db from "../config/database.js";
import Gig from "../models/Gig.js";
const router = express.Router();
router.get("/", async (req, res) => {
try {
const gigs = await Gig.findAll();
console.log(gigs);
res.sendStatus(200);
} catch (err) {
console.log(err);
res.sendStatus(500);
}
});
export default router;

型号:Gigs.js


import Sequelize from "sequelize";
import db from "../config/database.js";
const Gig = db.define("gig", {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
},
title: {
type: Sequelize.STRING,
},
technologies: {
type: Sequelize.STRING,
},
budget: {
type: Sequelize.STRING,
},
description: {
type: Sequelize.STRING,
},
contact_email: {
type: Sequelize.STRING,
},
createdAt: {
type: Sequelize.DATEONLY,
},
updatedAt: {
type: Sequelize.DATEONLY,
},
});
export default Gig;

Sequelize尝试像这样查询"createdat"one_answers"updateat":

SELECT "createdAt", "updatedAt" FROM "gigs" AS "gig";

哪个正在抛出错误

执行(默认(:SELECT"id"标题"技术"预算"描述"contact_email"createdAt"updatedAt";FROM";演出;AS";演出;

错误看起来像这样:

original:error:column"createdAt";不存在在Parser.parseErrorMessage(D:\Programing\Database\PostgreSQL\Sequelize\node_modules\pg protocol\src\Parser.ts:369:69(位于Parser.handlePacket(D:\Programing\Database\PostgreSQL\Sequelize\node_modules\pg protocol\src\Parser.ts:188:21(在Parser.parse(D:\Programing\Database\PostgreSQL\Sequelize\node_modules\pg protocol\src\Parser.ts:103:30(在Socket。(D:\Programing\Database\PostgreSQL\Squelize\node_modules\pg protocol\src\index.ts:7:48(在Socket.eemit(节点:事件:527:28(位于Socket.eemit(节点:域:475:12(在addChunk(节点:内部/流/可读:315:12(在readableAddChunk(节点:internal/streams/readable:289:9(位于Socket.Readable.push(节点:internal/streams/Readable:228:10(在TCP.onStreamRead(节点:internal/stream_base_commons:190:23({长度:169,严重性:"错误",代码:'42703',细节:未定义,提示:"也许你是想引用列";gig.createdat".",位置:'81',internalPosition:未定义,internalQuery:未定义,其中:未定义,schema:未定义,表:未定义,列:未定义,dataType:未定义,约束:未定义,文件:'parse_relation.c',行:"3611",例程:'errorMissingColumn',sql:"SELECT";id"标题"技术"预算"描述"contact_email"createdAt"updatedAt";FROM";演出;AS";gig",参数:未定义},sql:"SELECT";id"标题"技术"预算"描述"contact_email"createdAt"updatedAt";FROM";演出;AS";gig",参数:{}}

您需要明确指出与模型道具名称不同的所有字段名称(即使只是字母大小写(:

createdAt: {
type: Sequelize.DATEONLY,
field: 'createdat',
},
updatedAt: {
type: Sequelize.DATEONLY,
field: 'updatedat'
},

最新更新