SQL 解析范围
通过使用 SQL 解析范围,您可以将文件夹或文件与特定数据源关联。 设置映射后,您可以使用与关联数据源相对应的编码助手。
设置 SQL 解析范围后,IDE 会建议与关联数据源匹配的数据库对象。 假设您有两个数据源,一个用于生产数据库(PostgreSQL 14),另一个用于测试数据库(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 将显示通知对话框。 在该对话框中,您必须选择子项是否继承父项的作用域,或保留其自身的作用域。 |