ユーザーが Confluence wiki でスペースを取り消し不能に削除できないようにしようとしています。私が最初に考えたのは、spacesテーブルの名前を に変更しallspaces、新しい列を追加し、古いテーブルの代わりにdeletedビューを作成することでした。spacesビューは、削除されていないスペースのみを返します。ビューで INSERT、UPDATE、および DELETE を許可する 3 つのルールを作成しましたspaces。DELETE ルールはdeletedフィールドを変更するだけでビューから削除しますが、すべてのデータはデータベースに残ります。
問題は、PostgreSQL からspaces戻ったときの DELETE ステートメントです。DELETE 0これにより、Hibernate が反転して例外が投げられ、Confluence が爆発します。
INSTEAD ルールで削除された行ではなく、変更された行を PostgreSQL に返すようにする方法はありますか。