gpt4 book ai didi

node.js - 不能删除类型 "enum_TableName_column",因为其他对象依赖于它。 (PostgreSQL、Sequelize、Node.js)

转载 作者:行者123 更新时间:2023-11-29 12:46:42 28 4
gpt4 key购买 nike

使用 Sequelize.js 、Node.js 和 PostgreSQL。

当尝试强制将模型同步到数据库时(删除所有内容,创建所有内容),我收到有关为任何枚举字段创建的类型的错误。

例子:

{ 
[error: cannot drop type "enum_Availabilities_status" because other objects depend on it]
length: 304,
name: 'error',
severity: 'ERROR',
code: '2BP01',
detail: 'table "Availabilities" column status depends on type "enum_Availabilities_status"',
hint: 'Use DROP ... CASCADE to drop the dependent objects too.',
position: undefined,
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
file: 'src\\backend\\catalog\\dependency.c',
line: '951',
routine: 'reportDependentObjects'
}

执行后出现:

sequelize.sync({ force: true })

关于如何解决这个问题有什么建议吗?

最佳答案

我无法告诉您 ORM 是如何做事的,但是您可以首先通过使用 SQL 并发出以下命令来强制执行此操作:

DROP TYPE IF EXISTS enum_Availabilities_status CASCADE;

我的猜测是 SQL 调用中缺少 CASCADE。然后重新同步。

请先在您的数据库副本上尝试此操作。我不是 100% 确定如果列中已有类型会发生什么。

关于node.js - 不能删除类型 "enum_TableName_column",因为其他对象依赖于它。 (PostgreSQL、Sequelize、Node.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17028213/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com