概要
Qoder は JetBrains IDE のデータベース接続を AI コンテキストとして使用することをサポートしています。@database 機能により、AI は実際のデータベーステーブル構造に基づいて SQL を生成し、スキーマ分析を実行したり、関連コードを生成したりできます。前提条件
データベース機能を使用する前に、JetBrains IDE でデータベース接続を設定する必要があります:- データベースツールウィンドウを開く
- データベース接続を作成
- 接続が正常に機能するかテスト
使用方法
Ask/Agent モードでデータベースを参照
データベースをコンテキストに追加:- Qoder 入力ボックスで「Add Context」をクリック
- @database を選択
- 対象のデータベース Schema を選択
- コンテキストに追加される SQL ファイルは、データベーススキーマに基づいて生成されます
- データベースに複数のスキーマがある場合、対応する複数のスキーマ SQL ファイルが生成されます
- 特定のテーブルをクエリする SQL を生成
- テーブル構造設計を分析
- テーブル構造に基づいてコードを生成
Query Console で SQL を生成
- データベースの Query Console を開く
Ctrl + Shift + Iを押す- 自然言語の説明を入力
- Enter を押して SQL を生成
スラッシュコマンドの使用
カスタムコマンドを作成して、一般的な操作を素早く完了できます。 コマンドの作成:- Qoder ウィンドウのプロフィールアイコンをクリック
- 「設定」→「コマンド」を選択
- 新しいコマンドを作成
/ に続けてコマンド名を入力して呼び出します。例えば、/sql と入力して SQL 生成コマンドを呼び出します。
よく使用されるコマンド例:
SQL 生成 (/sql):
DataGrip での使用
Qoder をツールバーに追加:- 上部の「…」アイコンをクリック
- 「Qoder」を選択
- ピンアイコンをクリックして固定
- Query Console で Qoder ボタンをクリック
- またはショートカット
Ctrl + Shift + Iを押す
実用的なシナリオ
データベース設計
Agent モード(複雑なシナリオ向け)
適用対象:- 設計ドキュメントを参照する必要がある
- 特定の仕様に準拠した SQL を生成する必要がある
- 特定の形式のマイグレーションスクリプト(Flyway など)を生成する必要がある
- Agent モードで関連ドキュメントをコンテキストに追加
- 自然言語で要件を説明
- SQL ファイルを生成
- SQL ファイルを開いて実行
Query Console モード(シンプルなシナリオ向け)
適用対象:- シンプルなデータベース構造設計
- テーブル構造の調整
- 小規模な変更
- データベース Schema の Query Console を開く
- 要件を入力
- 生成された SQL を調整して実行
データベース設計のベストプラクティス
テーブル構造のサンプルを提供: 標準的なテーブル構造のサンプルがある場合、Qoder に参考として提供できます:- 明確で説明的な名前を使用し、テーブル名とフィールド名が意味を直接表現できるようにする(例: user、order_item)、単数形を推奨
- 命名の一貫性を保ち、統一的に snake_case または camelCase を使用
- 略語を避け、cust_addr ではなく customer_address を使用
- ブールフィールドにはプレフィックスを追加、例: is_active、has_paid
- 主キーを明確に、各テーブルに明確な主キーがあり、id または table_name_id と命名
- 外部キー関係を明確に、外部キーを user_id、order_id のように命名し、関連テーブルを明確に指す
- タイムスタンプを追加、created_at、updated_at フィールドを含める
- テーブルコメントを追加してテーブルの用途を説明
- フィールドコメントを追加してフィールドの意味、値の範囲、単位などを説明
- 列挙値を説明、ステータスフィールドなどで各値の意味をコメントで説明
- 適切なデータ型を使用、すべて VARCHAR を使用することを避ける
- 適切な長さ制限を設定
- NULL 値戦略を明確に、どのフィールドが NULL を許可し、どのフィールドが必須か
- デフォルト値を明確に、明確なデフォルト値がある場合は指定する
レガシーデータベースのアノテーション
命名規則に準拠していないレガシーデータベースの場合、JSON ファイルを使用してアノテーションを付け、AI がデータベース構造をよりよく理解できるようにします。 シナリオ例: 以下のようなレガシーデータベーステーブルがあるとします:db-metadata.json ファイルを作成してアノテーションを付けることができます:
注意事項
非常に多くのデータベーステーブル
データベーススキーマが非常に大きい場合(テーブルが非常に多い、ERP、CRM などのシナリオ)、Agent のコンテキスト制限を超える可能性があります。 解決策:- データベーススキーマを複数の SQL ファイルにエクスポート
- ファイルを追加する方法でコンテキストにバッチで追加
- 現在のタスクに関連するテーブルのみを追加
データベース方言(Dialect)
Qoder はデータベース方言をコメントとしてデータベーススキーマに自動的に追加するため、データベースタイプを手動で宣言する必要はありません。 SQL ファイルを手動でコンテキストに追加する必要がある場合:- SQL ファイルにコメントを追加してデータベースタイプを示すことができます。例:
-- dialect: mysql - グローバル AGENTS.md でデータベースタイプを宣言することもできます