【发布时间】:2019-04-19 16:20:50
【问题描述】:
【问题讨论】:
-
我想你问的是cascading deletes,它更多的是关于 SQL 而不是 Go,但我不确定。你能提供一个更具体的例子吗?至于“最好的工具”问题,we avoid best/favorite sorts of questions;答案取决于你在做什么。
-
我说错了,ORM 可以进行自己的级联删除。不知道GORM能不能。
-
有些表中对象的关系是通过它们的id来注册的。删除对象时,这些关系仍然存在,因此只会占用服务器上的空间。我不知道如何从代码中访问这些表以手动删除它们,因为这些表是自动创建的,并且不存在于我的模型中。
-
“通过 id 注册的对象的关系”听起来像 foreign keys。但听起来您的架构没有正确声明其外键。不幸的是,这很常见。外键会阻止您删除对象,同时留下引用。将外键声明为“在删除级联时”将在您删除主对象时删除引用行。我建议您阅读有关级联删除的 SQL 教程。