はじめに
Apex開発を行う際に個人的に1番面倒だと感じる作業が、SOQLへのオブジェクト項目名記述です。
1つ2つなら問題ないのですが、必要項目が多数あった場合に1つ1つコピペするのは骨が折れます。
そこで今回は、開発が非常に捗るSOQL関連のツールを3つご紹介したいと思います。
- Salesforce DevTools
- SOQL Builder(Salesforce Extensions for Visual Studio Code ベータ版)
- LWC SOQL Builder
1. Salesforce DevTools
【できること】
- 項目名の自動補完、GUIで選択
- エクスポート(csv)
皆さんご存知のChrome拡張機能です。
オブジェクトの定義書やER図が簡単に作成できるだけでなく、クエリエディターも使用できます。
今回紹介するツールの中では1番シンプルですが、その分お手軽に使用できます。
- 拡張機能を起動し、
Search Objects
を選択 - 対象オブジェクトのラベル名 or API名を入力し、Query Editorを開く
- クエリ項目をクリックして選択し、Queryで結果取得・Exportでcsvファイルをダウンロード
とても簡単にクエリを構築できました。WHERE句の追記も可能なのでこれだけでも十分すぎるほど便利です。
入力フォームからApexへコピペも可能です。
詳しい使い方については、別記事で詳しく紹介されていますのでそちらをご覧下さい。
10倍速SFDC開発者への道: Salesforce DevToolsを使いこなそう!
2. SOQL Builder(Salesforce Extensions for Visual Studio Code ベータ版)
【できること】
- 項目名の自動補完、GUIで選択
- エクスポート(csv / json)
- Apex向けのフォーマット
- WHERE・ORDER BY・LIMITの指定
- 集計関数の使用
多少事前準備が必要になりますが、Visual Studio Code内でSOQLを実行できます。
上記インストールの完了後、プロジェクトフォルダ > scripts > soql フォルダに.soql
拡張子のファイル(名称は任意)を作成すれば準備完了です。
作成したファイル上で、画面右上のSwitch Between SOQL Builder and Text Editor
アイコンをクリックすると、通常のエディタとSOQLビルダー画面を切り替えることが可能です。
ここではGUIでオブジェクト・項目が選択できるだけでなくWHERE句なども細かく指定できるため、SOQLに不慣れな方でも必要なクエリが発行できます。
またSOQL文を作成した後にもう一度Switch Between~
をクリックすると、以下画像の様に整形されたSOQL文がエディタに反映されているため、Apexファイルにそのままコピペ可能です。
画面がイケてて便利なのですが、項目のラベル名が使用できないため、結局別の場所でAPI名を参照する必要があるのでご注意を。
3.LWC SOQL Builder
【できること】
- オブジェクト/項目一覧をクリックするだけでSOQLが作れる!
- サブクエリ、親リレーションもクリックで挿入できる!
- 項目の入力補完にも対応!
- オブジェクト/項目はAPI名だけでなくラベルでも検索可能!
- CSVエクスポートできる!
- 削除済みレコードも検索できる!
- 管理パッケージ開発組織ではネームスペースを省略できる!
- PWAサポート!デスクトップアプリのように動く!
- SOQLを整形できる!Apexにきれいに貼れる。
- LWC OSSで作っているのでLWCのサンプルアプリとしても使える。
※上記記事より抜粋
ただ一言、とにかく便利です。
ラベル名でクエリに追加できるし、自動でフォーマットされるのでそのままApexにコピペできてとても捗ります。
なにより親リレーションはもちろん、子リレーションのサブクエリまでクリックで構築可能。
WHERE句以下は自分で書く必要がありますが、項目の入力補完機能もあるので十分過ぎる機能性です。
面倒な準備も一切不要なので、とにかく一度使ってみて下さい。世界が変わります。
最後に
ご紹介したツールの特徴・使い所をまとめます。
-
Salesforce DevTools
→ 手軽にSOQLを実行したい方 -
SOQL Builder(Salesforce Extensions for Visual Studio Code ベータ版)
→ Visual Studio Code内でSOQLを実行したい方 -
LWC SOQL Builder
→ とにかく多機能にこだわる方
まだ使った事がないツールがあればぜひ導入してみて下さい!