postgresql Sequelize添加创建时已不存在的列

wf82jlnq  于 2023-03-01  发布在  PostgreSQL
关注(0)|答案(1)|浏览(119)

我正在使用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代码,以防万一这是一个奇怪的缓存错误

oaxa6hgo

oaxa6hgo1#

我想通了。在某个地方还有一个仍然使用外键的关联。我删除了它,一切都按计划进行。

相关问题