【发布时间】:2023-02-23 04:26:46
【问题描述】:
我正在使用 sequelize 在节点 Typescript 和 postgres 架构上创建表。 我试图创建的模型 (questionnaire_subsection) 曾经有一个属性 questionnaire_section_id 是另一个表的外键,但我在选择关系表时删除了它。
问题是,现在它尝试在 create 上添加它:
await QuestionnaireSubsection.create({
ordering: 1
});
routine: 'errorMissingColumn',
sql: 'INSERT INTO "public"."questionnaire_subsections" ("questionnaire_subsection_id","ordering","created_at","updated_at") VALUES (DEFAULT,$1,$2,$3) RETURNING "questionnaire_subsection_id","ordering","created_at","updated_at","deleted_at","questionnaire_section_id";',
parameters: [
1,
'2023-02-22 14:26:00.785 +00:00',
'2023-02-22 14:26:00.785 +00:00'
]
},
我查了一下表没有这个属性了,界面和模型也没有这个属性。我不知道它是从哪里得到的,也不知道为什么要把它放在查询的末尾。如果它仍在模型中,则应该在订购之后/之前。
这是我界面的简化版本,我只是删除了翻译
interface QuestionnaireSubsectionBaseInterface {
questionnaireSubsectionId: number;
}
export interface QuestionnaireSubsectionCreateAttributes {
ordering: number
}
export interface QuestionnaireSubsectionInterface extends QuestionnaireSubsectionBaseInterface, QuestionnaireSubsectionCreateAttributes, BaseModelInterface {}
基本模型接口仅添加时间戳和历史记录
我将所有内容简化到最低限度,但它仍然给我同样的错误。 我多次清除数据库,甚至尝试重新启动 vs 代码,以防出现奇怪的缓存错误
【问题讨论】:
标签: node.js postgresql sequelize-typescript