【Salesforce】Apexトリガを無効にしたい

Salesforce

Apexトリガを無効にしたい場合のお話。

事の始まりはApexの一括バッチ処理で Apex CPU time limit exceeded が出たこと。んで原因はバッチ処理でレコードを更新する度にプロセスビルダーが起動して、これがどうも負荷がかかりすぎていたっぽい。プロセスビルダーを無効にしたらとりあえずエラーは起きなくなった。

で、プロセスビルダーにやらせていた処理をどうやって実装しようかな、と考えていたら
「プロセスビルダーでやっていたことをApexトリガでやったら解決したことあるよ」
という情報をゲッチュしたので、Apexトリガを作ってリリース!
これでもう大丈夫・・・何となく信じきっていただけに、ショックは大きかった。

Apex CPU time limit exceeded

どうしよ。

本題はここから

さてさて、Apexトリガを無効にするには、対象のApexトリガの編集画面を開き Is Active にチェックが入っていない状態で保存すればいい。

しかーし、そもそも本番環境ではApexトリガの編集ができないジャマイカ。編集ボタンが無い。

これはあれかー、そういうことかー、なるほどねー。

つーことで
Apexトリガを無効にしたい場合、Snadboxで Is Active チェックをはずした状態で保存し、それを本番環境にリリースすることで無効化できた。

Salesforceでは本番環境でApexトリガやApexクラスを作成・編集することができなくて、一旦開発環境(Sandbox)で作成したものを本番環境へリリースする必要がある。Apexトリガを無効化したいだけの場合でも、この手順を踏まないといけないようだ。

うーん、面倒。

コメント

タイトルとURLをコピーしました