完璧じゃなくてもとりあえず終わらせるブログ

主にSalesforceの悪夢を記録しています

開発環境にアンケート関連データがコピーされている

いつものように開発環境を作成して開発用データを整えていたら、突然「データの使用ディスク量」が最大値になっていることに気づきました。
こうなってしまうと、レコードのinsertができなくなるためほぼSFDCが動かないという状況になってしまいます。
どうやら想定外のデータ(アンケート関連データ)が本番環境からコピーされており、データを圧迫しているようです。
開発環境には不要なデータなので削除してしまいましょう。

データの使用ディスク量を確認する

レコードinsert時にファイル容量に関するエラーが発生したら、「データの使用ディスク量」を確認しましょう。

設定 > 会社の設定 > 組織情報
赤枠のところで確認できます

ここが110%になるとMaxです。それ以上のデータ保存ができないため、レコードのinsertもできなくなります。
10%分はおまけなんでしょうか? 100%になったときに通知があるわけでもないので何の意味がある10%なのかわからない。。。


どのデータが容量を圧迫しているか確認する

上記画像の赤枠「参照」をクリック
見覚えのないオブジェクトがストレージを圧迫しています

開発環境はただでさえデータ容量が少ないため、開発に関係ないデータはあまり入れたくないですよね。
いつ頃からか、上記画像の赤枠「アンケート」に関するデータが本番環境からコピーされるようになってしまいました。

コピー対象データから「アンケート」関連データを外せるか

外せないそうです。
突然本番環境からコピーされるようになったため、Salesforceに問い合わせをおこなったところ
「アンケート関連データは強制的にコピーされる」旨の返答がきました。

なん、、、だと?

では、一度に削除する方法はないんでしょうか?
「SOQLで消してくれ」とのことです。

なん、、、、、だと?

ということで、本題。仕方がないからSOQLを打ってアンケート関連データを(一部)削除します。

SurveyQuestion、Surveyを削除する

開発者コンソール > Query Editorタブ

①SurveyQuestion

SELECT id FROM SurveyQuestion

②Survey

SELECT id FROM Survey

SOQLは単純ですね。
あとはExecuteして、レコードを範囲選択して、「Delete Row」押下で削除できます。

大量データのレコード削除時はいつものことながら、実際にレコードが削除されるまでにタイムラグがあります。
ディスク使用量のパーセントが下がるまで気長にリロードしましょう。

また、②については、削除できないデータも存在するようです。

このエラーが出ると対処方法がないです

それでも②の一部削除可能なデータは削除されますので、目的は達成できます。

これで不要なデータ(の一部)を削除することができました。

余談

開発環境をPro版で作成してしまうというのが実は最も容易な方法です。
Pro版の方がデータ容量が大きいため。
ただし、Pro版での開発環境作成は組織によって数が限られているため、社内で調整が必要になります。
社内のSFDC管理者と相談してください。



よし、とりあえず終わらせたぞ