Salesforce組織間のデータ移行は面倒くさい
Salesforce組織から別のSalesforce組織にデータを移行したい場合、どのような手順が取れるでしょうか。
パッと思い浮かぶのは以下かと思います。
①Dataloader等を使用して、移行元組織からレコードをCSVで出力する
②CSVデータをクレンジングする
③Dataloader等を使用して、移行先組織にレコードを挿入する
④必要なオブジェクト分①~③を繰り返す
ご存知の通り、オブジェクトには参照(主従)関係が設定されていることがあります。
これも綺麗に移行する場合、②でのクレンジング作業が結構複雑になります。
更に、データの移行順番にも気を使わなければなりません。
はい、とても面倒くさいですね。
できるならもっと楽に移行したいですよね?
そんな願いを叶えてくれる夢のようなプラグインが「高機能データ移行ツール(以下SFDMU)」です。
SFDMUとは?
SFDMUはSalesforce CLIのプラグインの1つで、Salesforceへのデータ転送ができるものです。
以下のようなデータ転送ができるようになります。
- CSVデータを用いたデータ転送
- 環境から環境へのデータ転送
- データの一部にマスキングを施すデータ転送
- 複数オブジェクトのデータ転送
- データの親子関係を維持したデータ転送
これらのデータ転送がコマンド1回でできるようになります!
SFDMUを使ってみる
それではSFDMUを実際に使ってみましょう。
SFDMUの導入
SFDMUの導入方法は2通りありますが、今回は楽な方を使います。
※前提条件として、SFDXのインストールが必要です
以下のコマンドを実行します。
# 既に古いSFDMUがインストールされていて、アップデートしたい場合は既存のバージョンをアンインストール
$ sfdx plugins:uninstall sfdmu
# 最新版のSFDMUをインストール
$ sfdx plugins:install sfdmu
「Installing plugin sfdmu… installed vx.xx.x」(xxはバージョン値)
こんなメッセージが出ていればOKです。
SFDMUの実行
SFDMUは以下の2ステップで実行されます。
①設定ファイル「export.json」を作成する
②「sfdx sfdmu:run」コマンドを実行する
※オプションを付ける必要有
まずは設定ファイルであるexport.jsonを作っていきます。
Dataloaderでもできることをやってもなんだかなーという感じですので、
今回は組織から組織へ、取引先と取引先責任者をリレーションも含めて一括でデータ転送する想定で進めます。
{
"objects": [
{
"query": "SELECT Id, Name FROM Account",
"operation": "Upsert",
"externalId": "Name"
},
{
"query": "SELECT Id, LastName, AccountId FROM Contact",
"operation": "Upsert",
"externalId": "Name"
}
]
}
これがexport.jsonの基本形になります。
【query】
データ取得のSOQLを記載します。今回はお試しなので最低限の項目で作成してます。
SOQLなのでWHEREで絞ったりもできます。
【operation】
SOQLで取得したデータをどう処理するのかを記載します。
お馴染みのDMLが使えます。
【externalId】
外部IDを記載します。
SFDMUではオブジェクト定義で外部IDを設定していない項目でも外部IDのように使うことができます。
export.jsonができましたので、コマンドを使ってデータ転送をします。
組織間でのデータ転送になりますので、コマンドは以下のようになります。
# SOURCEUSERNAME データ転送元環境のユーザ名(xxxxx@yyy.zzz)
# TARGETUSERNAMEデータ転送先環境のユーザ名(xxxxx@yyy.zzz)
$ sfdx sfdmu:run --sourceusername SOURCEUSERNAME --targetusername TARGETUSERNAME
これで取引先と取引先責任者が紐づいた状態で挿入されます。簡単でしょう?
最後に
Salesforce開発では何かと問題になってくる開発環境やテスト環境のデータ問題ですが、SFDMUを使えばDataloaderよりも遥かに少ない手数で解決することができます。
また、CLIであるためデータ連携にも使えるのではないかと思ってます。
最後に、弊社にはSalesforceのスペシャリストが多数在籍しております。
何かお困りごとがございましたら、下記ボタンからお気軽にご相談くださいませ。
お問い合わせはこちら