SQL 解決スコープ
SQL 解決スコープを使用すると、フォルダーまたはファイルを特定のデータソースに関連付けることができます。このマッピングを設定すると、関連付けられたデータソースに対応するコーディング支援を使用できます。
SQL 解決スコープが設定されている場合、IDE は関連するデータソースに適したデータベースオブジェクトを提案します。2 つのデータソースがあると考えてください。1 つは本番データベース(PostgreSQL 14)用で、もう 1 つはテストデータベース(PostgreSQL 12.8)用です。両方のデータベースのテーブルの名前は同じですが、データベースの構造は異なります。SQL ファイルをいずれかのデータベースに個別に関連付けることができます。
postgresql_12.sql を PostgreSQL 12.8
データソースにマップし、postgresql_14.sql を PostgreSQL 14
にマップしてみましょう。
両方のデータソースに actor
テーブルがありますが、このテーブルは異なるスキーマ(guest.public.actor
と postgres.public.actor
)に格納されています。actor
テーブルを修飾しようとしたり、コード補完を使用したりしようとすると、補完の提案は対応するデータソースに関連付けられます。
また、これらのファイル間でクエリを交換すると、エラーが発生します(14-15 行)。PostgreSQL 14
には guest.public
にテーブルがなく、PostgreSQL 12.8
には postgres
スキーマがないためです。
SQL 解決スコープを追加する
Ctrl+Alt+S を押して設定を開き、
を選択します。追加ボタンをクリックしてください。
ファイルブラウザーで、データソースに関連付けるファイルまたはディレクトリに移動します。
オープンをクリックします。
解決スコープ列のセルをクリックして、このディレクトリまたはファイルに関連付けるデータソースを選択します。
プロジェクトコードで SQL コーディング支援を使用するには、言語インジェクションを有効にします。
設定
項目 | 説明 |
---|---|
プロジェクトマッピング | データベースオブジェクトの非修飾名を解決するために、プロジェクト内のすべての SQL ファイルによってデフォルトで使用されるデータソース、データベース、スキーマのセット。 以下の表にマッピングが設定されていない場合、ファイルとディレクトリはプロジェクトマッピングを使用します。 |
パス | データソースまたはデータソースのセットに関連付けるファイルまたはディレクトリへのパス。 |
解決スコープ | ファイルまたはディレクトリに関連付けられるデータソースまたはデータソースのセット。 すでにデータソースに関連付けられているファイルを含むディレクトリのマッピングを追加すると、IDE に通知ダイアログが表示されます。このダイアログでは、子が親のスコープを継承するか、スコープを保持するかを選択する必要があります。 |
関連ページ:

言語インジェクション
言語インジェクションを使用すると、コードに埋め込まれた他の言語のコード部分を操作できます。文字列リテラルに言語 (HTML、CSS、XML、RegExp など) を挿入すると、プロジェクトのメイン言語でなくても、挿入されたコードに対して包括的なコーディング支援を受けることができます。PHP のコンテキストでは、インジェクション可能な PHP と呼ばれる特別な PHP ダイアレクトを使用できます。このダイアレクトは、省略可能な開始タグを除いて、PHP に似ています。インジェクション可能な PHP は、...

テンプレートデータ言語
テンプレートデータ言語のコーディングアシスタンスを得るには、プロジェクト内でそれらの言語が使用されている場所を指定します。プロジェクトのデフォルトのテンプレートデータ言語を設定し、オプションでファイルとディレクトリのカスタムテンプレート言語を割り当てることができます。プロジェクト言語このリストから、プロジェクト全体のデフォルトのテンプレートデータ言語を選択します。パスこのフィールドには、プロジェクト全体に設定されているデフォルトのデータ言語ではなく、カスタムテンプレートデータ言語を適用するファイ...