【发布时间】:2013-06-06 08:44:54
【问题描述】:
使用Sequelize.js、Node.js 和 PostgreSQL。
当尝试将模型强制同步到数据库 (drop everything, create everything) 时,我收到为任何枚举字段创建的类型的错误。
例子:
{
[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 })
关于如何解决这个问题的任何建议?
【问题讨论】:
-
听起来好像是按错误的顺序放置东西?类型应该肯定最后被删除。
-
对我来说很有意义,我发布的一行实际上就是处理它的所有内容,而 sequelize 只是我们正在使用的一个 npm 库,所以也许这是我们需要解决的问题?
-
是的,听起来像是那个库中的一个错误。我怀疑你可以做些什么来让 Postgres 自动清除对枚举的所有依赖项。
标签: node.js postgresql orm dependencies sequelize.js