【実務・中級編】DataGripの「SQL生成ウィザード」を使い倒す!既存テーブルからバリバリCRUDコードを自動生成する裏技 – データベース・API管理活用バイブル

DataGripでSQL生成を「手作業」するのは卒業せよ:CRUD自動生成とライブテンプレートで爆速開発を実現する極意

現場でエンジニアの生産性を左右するのは、IDEの機能を知っているかどうかではない。「いかにツールを自分の分身としてカスタマイズし、単純作業を自動化し尽くしているか」だ。

DataGripは単なるSQLクライアントではない。正しく設定すれば、CRUDコードの記述時間を0秒に近づける「最強のコード生成エンジン」になる。今回は、既存テーブルからSQLをバリバリ生成し、開発スピードを異次元に引き上げるための実践的テクニックを伝授する。

—

1. 「SQL生成ウィザード」をハックせよ

多くのエンジニアが「右クリック > SQL Scripts > Generate SQL」を使うだけで満足しているが、それは入り口に過ぎない。

隠れた神機能:Extractorのカスタマイズ

単なる`INSERT`文の生成ではなく、アプリケーションのDTOやORMモデルに合わせた形式で出力したい場合、`Data Extractors`を使いこなすべきだ。

1. `Cmd+Shift+Alt+G` (or `Ctrl+Shift+Alt+G`) でSQL生成ダイアログを開く。
2. ここで重要なのは、出力形式(Extractor)を自作することだ。
3. `Scripts` フォルダにJS/Groovyでカスタムスクリプトを配置すれば、「テーブル定義を読み込み、JavaのEntityクラスやGoのStruct、あるいはTypeScriptのInterfaceを吐き出す」といった芸当が可能になる。

現場の知恵: 「既存テーブルの変更を検知して、自動でマイグレーションスクリプトを生成する」設定をここに組み込めば、手動のDDL作成から解放される。

—

2. ライブテンプレート:CRUD生成の最終兵器

「毎回同じような `WHERE id = ?` を書く」のは今日で終わりにしよう。DataGripのライブテンプレートは、SQLの断片ではなく「文脈」を記憶させるものだ。

推奨テンプレート:`crud-prep`

以下の設定を `Settings > Editor > Live Templates` に登録せよ。

  • Abbreviation: `crud-select`
  • Template text:

SELECT $COLUMNS$
FROM $TABLE$
WHERE $PK$ = :$PK_VAR$
/ DataGrip: 実行時に $TABLE$ を補完し $COLUMNS$ をリストアップ /

ポイント: テンプレートの変数に「Expression(関数)」を割り当てること。`columnNames()` や `tableNames()` を指定すれば、カーソル位置のテーブル情報を動的に取得し、爆速でクエリが完成する。

—

3. チーム開発における「設定の神聖化」

個々人がバラバラの設定で開発するのは、技術的負債の温床だ。DataGripの設定はプロジェクト単位でGit管理するのが鉄則である。

`.idea` ディレクトリの活用

DataGripの設定ファイルは、プロジェクトルートの `.idea/dataSources/` に集約される。これをGitで共有することで、以下の恩恵が得られる。

1. データソース定義の統一: 接続先、SSHトンネル、ドライバー設定がチーム全員で同期される。
2. クエリ履歴の共有: 開発中に頻出する特定のクエリを「User Parameters」として共有できる。

ベストプラクティス:`.idea/dataSources.xml` の構成例



true
jdbc:postgresql://db.internal:5432/prod
$ProjectFileDir$

—

4. 導入必須の「神プラグイン」

標準機能で足りない「痒いところ」を補うための必須プラグインだ。

  • [Key Promoter X](https://plugins.jetbrains.com/plugin/9792-key-promoter-x): マウス操作を検知し、「今の作業、ショートカットでやれば0.5秒速いぞ」と通知してくれる。身体に叩き込むための教官。
  • [Rainbow Brackets](https://plugins.jetbrains.com/plugin/10080-rainbow-brackets): 複雑なサブクエリやJOINのネストを視覚的に整理する。これ無しでのクエリ読解は時間の無駄だ。

—

5. 伝説のエンジニアに近づくための「キーボードショートカット」

マウスに手を伸ばした時点で、君の生産性は半分になる。最低限、これらは指に染み込ませろ。

| 操作 | ショートカット (Mac) |
| :— | :— |
| データソースへ即座にジャンプ | `Cmd + E` |
| クエリの整形 (必須) | `Cmd + Alt + L` |
| SQLスクリプト生成ダイアログ | `Cmd + Shift + Alt + G` |
| 現在カーソルがあるテーブルの定義を表示 | `Cmd + B` |

—

最後に:思考をコードに直結させる技術

DataGripの真の価値は、「DB構造を脳内でシミュレーションする時間を、SQLの実行と分析に充てられる」点にある。

ツールに支配されるな。ツールをハックし、自分の思考スピードを制限するあらゆるボトルネックを排除せよ。設定ファイルをGitにコミットした瞬間から、チームの生産性は確実に跳ね上がるはずだ。

さあ、次はどのクエリを自動生成しようか?

タイトルとURLをコピーしました