gpt4 book ai didi

sails.js - 具有强制一对多关系的级联错误

转载 作者:行者123 更新时间:2023-12-05 07:27:56 25 4
gpt4 key购买 nike

我正在使用 Sails 1.1.0。我尝试使用 sails-disksails-mongo 适配器进行以下操作。

我创建了一个强制性的一对多关系。一个 Sofa 有一个 owner,它对 User 是一对多的,一个 Sofa 也有一个 homeHome一对多。但是,当我 await Home.destroy(homeId); Home 时,它不会向下级联并删除 Sofa。相反,我得到错误:

PropagationError: Failed to run the "cascade" polyfill.  Could not propagate the potential destruction of this home record.
Details:
Cannot wipe the contents of association (`sofas`) because there is one conflicting shame record whose `home` cannot be set to `null`. (That attribute is required.)

This error originated from the fact that the "cascade" polyfill was enabled for this query.
Tip: Try reordering your .destroy() calls.
[?] See https://sailsjs.com/support for more help.

这是我的模型关联:

// api\models\Sofa.js

owner: {
model: 'user',
required: true
},

home: {
model: 'home',
required: true
},

// api\models\User.js

sofas: {
collection: 'sofa',
via: 'owner'
},

// api\models\Home.js

sofas: {
collection: 'sofa',
via: 'home'
},

有人知道为什么会这样吗?

最佳答案

我最近遇到了同样的问题,使用带有 inMemoryOnly: true 选项的 sails-disk 适配器,你不需要清理数据库,因为它只是内存,当测试完成时它会被清理自动。

datastores: {
default: {
adapter: 'sails-disk',
inMemoryOnly: true
},
}

关于sails.js - 具有强制一对多关系的级联错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53688385/

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