本記事では、以下の3つについてご紹介します。
・物理削除の履歴を残すための設定
・削除履歴の確認方法
・削除データの復元方法
物理削除の履歴を残すための設定
Audit の有効化
1.フィルターナビゲーターで All > System Definition > Dictionary と検索します。
2.以下の条件のレコードを開きます。
Table=履歴を残したいテーブル(例として、sys_user_group を設定します。)
Column name=空白
Type=Collection
3.Audit チェックボックスをオンにし、レコードを更新します。
以上で、物理削除の履歴を残すための設定は完了です。
削除履歴の確認方法
1.sys_audit_delete テーブルを確認すると、レコードが追加されています。
※フィルターナビゲーターで「sys_audit_delete.list」と検索します。
2.レコードを開くと、削除した内容を確認することができます。
削除データの復元方法
一度物理削除したデータを復元するには、以下の操作を行います。
ただし、以下に注意してください。
※1 単一テーブルのレコードの delete をもとに戻すだけのため、カスケードされているテーブルのレコードや他テーブルとのリレーションは元には戻りません。
※2 sys_audit_delete テーブルで検索に使える要素が少ないため、対象レコードが特定できない可能性もあります。少しでも不安を感じたら、元に戻さず、手動でデータを作成しなおすことを推奨します。
今回は、前章の「削除履歴の確認方法」で削除したデータを復元させます。
1.sys_audit_delete テーブルを開きます。
2.削除してしまったレコードを検索して特定します。
3.レコードを開き、「レコードの削除の取り消し」ボタンをクリックします。
4.sys_audit_delete テーブルからレコードが無くなり、データが復元されています。
<sys_audit_delete テーブル>
<データが元々登録されていたテーブル>
以上で、削除データの復元は完了です。
おわりに
今回は物理削除の履歴の残し方、削除データの復元方法について紹介させていただきました。
レコードの更新履歴だけでなく、削除履歴も見たい!という場合は是非試してください。
また、システムの開発において、基本的には論理削除で対応することが多いかと思いますが、誤ってデータを削除してしまう可能性が無いとは言い切れないので、是非ご活用ください。