ちょっと Salesforce オブジェクトの項目一覧取得を Salesforce CLI (sfdx) で動作させてみたい時のサンプルをメモしておきます。
この記事は Salesforce Developer Edition
を利用して記載しています。
Annonymous Apex Code の記述
Schema.DescribeSObjectResult
を含む Annonymous Apex Code
をファイルに記述します。ファイルの拡張子は .apex
とします。
myapex.apex
System.debug('シンプルな オブジェクトのスキーマ表示: Begin.');
Schema.DescribeSObjectResult dsr = Account.sObjectType.getDescribe();
Map<String, Schema.sObjectField> fieldMap = dsr.fields.getMap();
// 項目名の一覧を取得
List<String> fieldNameList = new List<String>();
for (String look : fieldMap.keySet()) {
fieldNameList.add(look);
}
fieldNameList.sort();
// 項目名の一覧をもとに、全項目取得SOQLを生成
String soql = 'SELECT';
boolean isFirst = true;
for (String look : fieldNameList) {
if (isFirst) {
isFirst = false;
soql += '\n ';
} else {
soql += '\n , ';
}
soql += look;
System.debug('field: ' + look + ' (' + fieldMap.get(look).getDescribe().getType() + ')');
}
soql += '\n';
soql += ' FROM ' + dsr.getName() + '\n';
soql += ' WHERE IsDeleted = false\n';
soql += ' ORDER BY Name\n';
soql += ' LIMIT 1000';
System.debug('soql: ' + soql);
System.debug('シンプルな オブジェクトのスキーマ表示: End.');
簡易な解説
-
Account
の情報を取得 - 各項目の情報を簡易に Debug 表示
- 項目名を用いた SOQL 検索テキストを参考出力
Annonymous Apex Code の実行
Salesforce CLI (sfdx) ログイン
Salesforce CLI (sfdx) でログインします。
sfdx auth:web:login -a myorg1
Salesforce CLI (sfdx) で Annonymous Apex Code の実行
先ほど作成した Annonymous Apex Code ファイルを指定して実行します。
sfdx force:apex:execute -u myorg1 -f myapex.apex
実行結果
- 実行結果は割愛します。
文書情報
- 初出: 2021-11-23
関連情報
- シンプルな オブジェクトからレコード検索 サンプル (Salesforce CLI で Anonymous Apex Code 版)
- シンプルな オブジェクトへレコード追加 サンプル (Salesforce CLI で Anonymous Apex Code 版)
- シンプルな オブジェクトのレコード更新 サンプル (Salesforce CLI で Anonymous Apex Code 版)
- シンプルな オブジェクトのレコード削除 サンプル (Salesforce CLI で Anonymous Apex Code 版)
- シンプルな オブジェクトの項目一覧取得 サンプル (Salesforce CLI で Anonymous Apex Code 版)