ipex

Salesforceの情報や趣味(ゲーム等)についてフリーに

ごみ箱内のレコードの削除

f:id:ipex:20160626150239p:plain

ごみ箱内のレコードは ALL ROWS というキーワードを使って取得する。
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/langCon_apex_SOQL_query_all_rows.htm

開発者コンソールのQueryEditorからだと失敗するので、匿名実行して確認。
f:id:ipex:20160626151213p:plain
f:id:ipex:20160626151747p:plain


更に、削除してみる。
削除するには、Database.emptyRecycleBin() を利用する。
apex - How do I delete records in the recycle bin? - Salesforce Stack Exchange

f:id:ipex:20160626152513p:plain
f:id:ipex:20160626152518p:plain

・・・想定と違う。
deletedAccount3 は取得できないと思ってたけど、取得できてしまっている。

もうちょっと調べてみたら、下記のようなHelpが。

ごみ箱内のレコードと物理削除待ちレコードの違いについて
https://help.salesforce.com/apex/HTViewSolution?id=000176414&language=ja

emptyRecycleBin() で削除後は、物理削除待ちレコードという扱いになるらしい。
ApexやAPIから参照はできるが、ごみ箱からは消えているようなので解決。

f:id:ipex:20160626153147p:plain