【问题标题】:Sequelize adds column that does not exist anymore on creationSequelize 添加创建时不再存在的列
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-05-29
      • 2022-11-29
      • 2019-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-24
      • 1970-01-01
      • 2021-02-22
      相关资源
      最近更新 更多