Salesforce CLI force:source と force:mdapi ってどう違うの?
Salesforce CLI のコマンドって数が多くて覚えきれないですよね。
しかも、似たような機能のコマンドがあったりしますよね。
たとえば、sfdx force:source:deploy と sfdx force:mdapi:deploy とか。
同じようで、実は違う。違いをまとめてみました。
force:source
新しい形式
ソース形式
ファイルが分割されてる
たとえば、カスタムオブジェクトだったら、オブジェクト単位で xml がある
バージョン管理がしやすい
バグって deploy に失敗することがある (個人的所感)
force:mdapi
古い形式
メタデータ形式
ファイルがまとまってる
たとえば、カスタムオブジェクトだったら、オブジェクト全体で 1 つの xml になってる
バージョン管理はしずらいかも
バグって deploy に失敗することがあまりない (個人的所感)
完全に所感ではありますが、force:source は、deploy するときによくわからないエラーを吐いたりすることが多いです。
そんなときは、sfdx force:source:convert のコマンドで、メタデータ形式に変換して、
メタデータ形式で deploy するとうまくいったりすることも・・・
最終手段として覚えておくとよいかもです。