18
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Salesforceの本番環境にあるApexクラスやトリガーを削除する

Last updated at Posted at 2017-11-10

#やりたいこと
不要になったソースをクラスごと消したい。がしかし、sandbox上では削除できるんだけども、本番環境は削除できない。
sandboxから削除したという情報をリリースもできない。

詰んでしまった👼👼👼

そこで、調べてみると、 destructiveChanges.xml をリリースすることで削除できるということがわかりました。

#やりかた

##ファイルを作る
ファイルを2つつくります。階層は下記のようにしてください。

folder
   ├──package.xml
   └──destructiveChanges.xml
package.xml
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
   <version>41.0</version> <!-- APIバージョン -->
</Package>
destructiveChanges.xml
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <fullName>codepkg</fullName>
    <types>
        <!-- 消したいクラスの名前をmembersに -->
        <members>OpportunityRefAccountUpdTriggerHandler</members>
        <members>OpportunityRefAccountUpdTriggerHdlTest</members>
        <name>ApexClass</name>
    </types>
    <types>
        <!-- 消したいトリガーの名前をmembersに -->
        <members>OpportunityRefAccountUpdTrigger</members>
        <name>ApexTrigger</name>
    </types>
    <version>41.0</version>
</Package>

カスタムオブジェクトなども削除できるみたいです。

##作ったファイルをZipにします

ここからが苦労ポイントでした。

Mac先生の標準機能でフォルダを圧縮すると、余計な隠しファイルを入れてきます。
そいつが悪さする。すごく。
この状態で以降の処理をすると「No package.xml file found」のエラーになってしまうので、もしそのエラーが出たら、隠しファイルを疑ってみてください。

Macで作った手順。

###zipファイルを作る

zip -r archive ./folder

###中身を見る

unzip -l ./archive.zip

はい、余計な隠しファイルがいる!

Archive:  ./archive.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  11-09-17 18:48   folder/
     6148  11-09-17 18:41   folder/.DS_Store <--おまえだ
      603  11-09-17 17:26   folder/destructiveChanges.xml
      135  11-09-17 17:28   folder/package.xml
 --------                   -------
     6886                   4 files

###隠しファイルを消す

zip -d ./archive.zip folder/.DS_Store
Archive:  ./archive.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  11-09-17 18:48   folder/
      603  11-09-17 17:26   folder/destructiveChanges.xml
      135  11-09-17 17:28   folder/package.xml
 --------                   -------
      738                   3 files

消えました

これでZipファイルの作成は完了です。

##Workbench
Salesforceにログインをしたあと、workbenchにアクセスします。

認証しましょう。

migration > Deploy を選びます。
image.png

さっき作ったzipを選んで、画像の設定をして、 Next
image.png

Deploy を押せば完了

SUCCESSがTrueになっていれば成功です!
image.png

#参考にしたもの
https://help.salesforce.com/articleView?id=000187562&language=ja&type=1
https://medium.com/@wangyidan621/salesforce-workbench-zip-deployment-no-package-xml-found-error-on-mac-ec7ce49a7126

18
23
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
18
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?