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 行)。guest.public
因为我们在in下没有表PostgreSQL 14
,并且 in 也没有postgres
schema PostgreSQL 12.8
。
添加 SQL 解析范围
按Ctrl+Alt+S打开 IDE 设置并选择Languages and Frameworks | SQL 解析范围。
单击添加按钮。
在文件浏览器中,导航到要与数据源关联的文件或目录。
单击打开。
单击“解析范围”列的单元格,然后选择要与此目录或文件关联的数据源。
要在项目代码中使用 SQL 代码帮助,请启用语言注入。
设置
物品 | 描述 |
---|---|
项目映射 | 项目中所有 SQL 文件默认使用的一组数据源、数据库和模式,用于解析数据库对象的非限定名称。 如果下表中未设置映射,则文件和目录使用项目映射。 |
小路 | 要与数据源或一组数据源关联的文件或目录的路径。 |
解决范围 | 将与文件或目录关联的数据源或一组数据源。 如果为包含已与数据源关联的文件的目录添加映射,IDE 将显示通知对话框。在此对话框中,您必须选择子项是否应继承父项的范围或保留其范围。 |