【发布时间】:2010-05-17 21:31:01
【问题描述】:
我试图阻止用户不可撤销地删除 Confluence wiki 中的空间。我的第一个快速想法是将spaces 表重命名为allspaces,添加一个新列deleted,并创建一个视图spaces 来代替旧表。该视图将仅返回未删除的空格。我创建了三个规则来允许在spaces 视图上插入、更新和删除。 DELETE 规则只是更改了deleted 字段,从而将其从视图中删除,但所有数据仍保留在数据库中。
现在的问题是在 spaces 上的 DELETE 语句从 PostgreSQL 返回 DELETE 0。这会导致 Hibernate 跳出并抛出异常,Confluence 崩溃了。
无论如何让 PostgreSQL 返回行修改而不是根据 INSTEAD 规则删除的行。
【问题讨论】:
-
为什么您的用户可以直接访问 Confluence 表?!
-
他们没有,Confluence 在“删除空间”中有一个按钮,可以从数据库中删除空间。目前这是永久性的,恕我直言,这是非常反维基的。我正在尝试在数据库级别解决此问题。
标签: postgresql rules confluence