SQL 解決スコープ
SQL 解決スコープを使用すると、フォルダーまたはファイルを特定のデータソースに関連付けることができます。このマッピングを設定すると、関連付けられたデータソースに対応するコーディング支援を使用できます。
SQL 解決スコープが設定されている場合、IDE は関連するデータソースに適したデータベースオブジェクトを提案します。2 つのデータソースがあると考えてください。1 つは本番データベース(PostgreSQL 14)用で、もう 1 つはテストデータベース(PostgreSQL 12.8)用です。両方のデータベースのテーブルの名前は同じですが、データベースの構造は異なります。SQL ファイルをいずれかのデータベースに個別に関連付けることができます。
postgresql_12.sql を PostgreSQL 12.8
データソースにマップし、postgresql_14.sql を PostgreSQL 14
にマップしてみましょう。
![SQL 解決スコープ SQL Resolution Scopes](https://resources.jetbrains.com/help/img/idea/2023.2/db_sql_resolution_scopes.png)
両方のデータソースに actor
テーブルがありますが、このテーブルは異なるスキーマ(guest.public.actor
と postgres.public.actor
)に格納されています。actor
テーブルを修飾しようとしたり、コード補完を使用したりしようとすると、補完の提案は対応するデータソースに関連付けられます。
![補完リストの提案 suggestions in the completion list](https://resources.jetbrains.com/help/img/idea/2023.2/db_suggestions_in_the_completion_list.png)
また、これらのファイル間でクエリを交換すると、エラーが発生します(14-15 行)。PostgreSQL 14
には guest.public
にテーブルがなく、PostgreSQL 12.8
には postgres
スキーマがないためです。
SQL 解決スコープを追加する
Control+Alt+S を押して IDE 設定を開き、
を選択します。追加ボタンをクリックしてください。
ファイルブラウザーで、データソースに関連付けるファイルまたはディレクトリに移動します。
開くをクリックします。
解決スコープ列のセルをクリックして、このディレクトリまたはファイルに関連付けるデータソースを選択します。
プロジェクトコードで SQL コーディング支援を使用するには、言語インジェクションを有効にします。
設定
項目 | 説明 |
---|---|
プロジェクトマッピング | データベースオブジェクトの非修飾名を解決するために、プロジェクト内のすべての SQL ファイルによってデフォルトで使用されるデータソース、データベース、スキーマのセット。 以下の表にマッピングが設定されていない場合、ファイルとディレクトリはプロジェクトマッピングを使用します。 |
パス | データソースまたはデータソースのセットに関連付けるファイルまたはディレクトリへのパス。 |
解決スコープ | ファイルまたはディレクトリに関連付けられるデータソースまたはデータソースのセット。 すでにデータソースに関連付けられているファイルを含むディレクトリのマッピングを追加すると、IDE に通知ダイアログが表示されます。このダイアログでは、子が親のスコープを継承するか、スコープを保持するかを選択する必要があります。 ![]() |
関連ページ:
![](https://resources.jetbrains.com/help/img/idea/2023.2/edit-injection.png)
言語インジェクション
言語インジェクションを使用すると、コードに埋め込まれた他の言語のコードを操作できます。言語(HTML、CSS、XML、RegExp など)を文字列リテラルに挿入すると、そのリテラルを編集するための包括的なコード支援が得られます。一時的に言語をインジェクションするデフォルトでは、IDE は一時的に言語を挿入します。これは、埋め込まれた要素を削除すると、インジェクションも失われることを意味します。言語を挿入する文字列リテラル、タグ、属性内にキャレットを配置し、を押します(またはインテンションアクシ...
![](https://pleiades.io/icons/idea.png)
Node.js
このページは、プラグインのインストールに従って、設定 | プラグインページのインストール済みタブで Node.js バンドルプラグインが有効になっている場合にのみ表示されます。Node.js の操作方法については、Node.js アプリケーションの開発セクションを参照してください。次の Node.js バージョンは、IntelliJ IDEA 2020.3 以降でサポートされています。Node.js 14、Node.js 16 - Active Long Term Supported (LTS) バー...