LoginSignup
3
5

More than 5 years have passed since last update.

Salesforceの本番組織からJSforce Metadata ToolsでApexクラスなどを削除する

Posted at

Salesforceの本番組織からApexクラスなどを削除するのはかなり面倒

以下のような方法があるけど、めんどい。

  • Force.com IDEで削除(参考
  • Force.com Migration Toolで削除(参考
  • Workbenchで削除(参考

JSforce Metadata Toolsで削除する

node.jsのコマンドラインツールJSforce Metadata Toolsも上記方法と同じくMetadata APIを実行しているので、これを使っても削除できます。

1. JSforce Metadata Toolsインストール

$ npm install -g jsforce-metadata-tools

2. 以下のようなフォルダ構成でファイルを作ります

.
└── metadata
    ├── destructiveChanges.xml
    └── package.xml
package.xml
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
   <version>42.0</version>
</Package>

destructiveChanges.xmlに削除したいリソースを記載。

destructiveChanges.xml
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>DeleteExample</members>
        <name>ApexClass</name>
    </types>
    <types>
        <members>DeleteExampleTrigger</members>
        <name>ApexTrigger</name>
    </types>
    <version>42.0</version>
</Package>

3. 以下のコマンドを実行

$ jsforce-deploy -u <ユーザ名> -p <パスワード> -D ./metadata/ --rollbackOnError

以下のような結果が表示されれば成功です。組織に入って確認してみましょう。

Logged in as: <ユーザ名>
Deploying to server...

Deploy Succeeded.

Id: 0Af0000000XXXXXXX
Status: Succeeded
Success: true
Done: true
Number Component Errors; 0
Number Components Deployed: 2
Number Components Total: 2
Number Test Errors; 0
Number Tests Completed: 31
Number Tests Total: 31


Test Total Time: 8246

まとめ

他の方法より面倒じゃない…気がする

3
5
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
3
5