本番環境のApexクラスの消去方法について質問です。Apexクラスの消去方法として、metaファイルの「<status>Active<status>」を「<status>Deleted<status>」に変更、保存しエクスプローラー上で該当のmetaファイルを右クリック、「SFDX:この組織をソースへデプロイ」をクリックすることで消去できる認識でいたのですが、この方法で行うと、「No results found」となり失敗します。「SFDX:プロジェクトおよび組織から削除」でも同様に「No results found」となります。コマンドを使用しての消去なども試してみましたが上手くいかない状況です。本番環境のApexクラスの消去方法を知っている方がおられましたら教えていただけないでしょうか。
よろしくお願いいたします。
7 Antworten
Workbenchに限らず他のツールでもMeta data APIを利用して削除していると思います。
https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_deleting_files.htm再度消去不可になるということが少々理解できないのですが、Workbenchは単にMeta data APIを呼び出しているだけなので、Workbenchに致命的なバグがなければ、問題ないように思います。
不安要素を無くすとなるとツールの中身が参照できるような方法を取るのがいいかもしれません。(例えば ApexクラスでMeta data APIをコールするような...)
Workbenchでの削除での問題がった投稿を以下にまとめてみました。
https://salesforce.stackexchange.com/questions/294243/issues-deleting-apex-classes-with-workbench
https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007T45bbSAB
https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000BtJO3SAN