我正在使用sequelize在Typescript和postgres架构的节点上创建表。我尝试创建的模型(questionnaire_subsection)曾经有一个属性questionnaire_section_id,它是另一个表的外键,但我在选择关系表时删除了它。
问题是,现在它试图在创建时添加它:
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代码,以防万一这是一个奇怪的缓存错误
1条答案
按热度按时间oaxa6hgo1#
我想通了。在某个地方还有一个仍然使用外键的关联。我删除了它,一切都按计划进行。