LoginSignup
6
2

More than 3 years have passed since last update.

Salesforceの本番環境のApex,TriggerをSFDXコマンドで削除する。

Posted at

やりたいこと

Saleforceの本番環境から使わなくなったApex ClassやTriggerをSFDXコマンドで削除したい。

sfdx force:source:deployコマンドで削除する場合

準備

対象Apex Class、Apex Trigger のmeta-xmlファイルのstatusを Deleted へ変更して保存する。

コマンド

sfdx force:source:deploy -p "force-app/main/default/classes/hogehoge.cls" -l RunLocalTests -u ユーザーID

オプションの説明
- p | --sourcepath SOURCEPATH
- u | targetUserName
- l | テストレベル指定オプション

説明

  • 対象Class,Triggerはカンマで複数指定可能
  • 本番でのdeployなのでテスト実施必須。オプションでテストレベル指定する。(-l RunLocalTests)

コマンド詳細
Salesforce CLI Command Reference

force:mdapi:deployコマンドで削除する場合(公式で調べた内容)

以下の公式を参考にして実施
組織からのコンポーネントの削除

手順

  1. 任意の場所にpackage.xml と destructiveChanges.xml の 2 ファイルを作成する。
  2. 上記 2 ファイルを zip ファイルに固める。
  3. sfdx force:mdapi:deploy を実行する。

あとがき

ClassやTrigger単体を削除するなら sfdx force:source:deploy で削除するほうがラクです。
force:mdapi:deployでの削除は、他のリソースもまとめて削除したい時に使うといいのかもしれません。

本番環境にある不要なApexを削除するのに調べた内容まとめました。
いわずもがなですが、本番環境のリソースを削除する際はくれぐれも注意して実施しましょう。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2