例: 組織間でのデータのエクスポートとインポート
この例は多少作為的ではありますが、データコマンドを実際に体験するのに役立ちます。この例では、GitHub 上の Salesforce DreamHouse LWC アプリケーションの例の Broker と Properties のカスタムオブジェクトを参照します。データをエクスポートするスクラッチ組織の別名が org-with-data であるとします。同様に、データをインポートするスクラッチ組織の別名が org-needs-data であるとします。org-with-data スクラッチ組織では、次のことがすでに行われているものと想定されています。
- DreamHouse ソースをリリースして Broker と Properties のカスタムオブジェクトを作成する。
- 権限セットを割り当てる。
- オブジェクトにデータを入力する。
org-needs-data スクラッチ組織では、Broker と Properties のオブジェクトが作成済みで権限セットも割り当て済みであるが、データはまだ入力されていないものとします。
これらの前提作業の手順については、dreamhouse-lwc GitHub リポジトリの README を参照してください。
-
org-with-data スクラッチ組織からデータをエクスポートします。
data query コマンドを使用して SELECT クエリを微調整し、エクスポートするデータセットを正確に返すようにします。このコマンドは結果をターミナルまたはコマンドウィンドウに出力しますが、ファイルは生成しません。
1sf data query --target-org org-with-data --query \ 2 "SELECT Id, Name, Title__c, Phone__c, Mobile_Phone__c, \ 3 Email__c, Picture__c, \ 4 (SELECT Name, Address__c, City__c, State__c, Zip__c, \ 5 Price__c, Beds__c, Baths__c, Picture__c, \ 6 Thumbnail__c, Description__c \ 7 FROM Properties__r) \ 8 FROM Broker__c" -
SELECT ステートメントを記述できたら、data export tree コマンドを使用してデータを一連の JSON ファイルにエクスポートします。
1sf data export tree --target-org org-with-data --query \ 2 "SELECT Id, Name, Title__c, Phone__c, Mobile_Phone__c, \ 3 Email__c, Picture__c, \ 4 (SELECT Name, Address__c, City__c, State__c, Zip__c, \ 5 Price__c, Beds__c, Baths__c, Picture__c, \ 6 Thumbnail__c, Description__c \ 7 FROM Properties__r) \ 8 FROM Broker__c" \ 9 --prefix export-demo --output-dir sfdx-out --plandata export tree コマンドは JSON ファイルを sfdx-out ディレクトリに書き込み、各ファイル名に export-demo という文字列をプレフィックスとして追加します。ファイルの中にはプラン定義ファイルが含まれ、このファイルが、データが含まれる他のファイルを参照します。プラン定義ファイルは、エクスポートされたオブジェクト (Broker および Properties) ごとに 1 つ含まれます。
-
プラン定義ファイルを data import tree コマンドに指定することによって org-needs-data スクラッチ組織にデータをインポートします。
1sf data import tree --target-org org-needs-data \ 2 --plan sfdx-out/export-demo-Broker__c-Property__c-plan.jsondata export tree パラメーターを使用して、data export tree コマンドによって生成されたプラン実行ファイルのフルパス名を指定します。プラン実行ファイル名の末尾は常に -plan.json になります。
例
もっと複雑な例をお探しですか? easy-spaces-lwc サンプルアプリケーションには、アカウント、関連取引先責任者、および 3 レベルの深度のカスタムオブジェクトチェーンをインポートする方法を示すデータプランがあります。