PhpStorm 2025.2 Help

SQL 解析范围

通过使用 SQL 解析范围,您可以将文件夹或文件与特定数据源关联起来。 当您设置此映射时,您可以使用与关联数据源相对应的编码辅助功能。

当设置了 SQL解析范围时,IDE 会建议适用于相关数据源的数据库对象。 考虑到您有两个数据源,一个用于您的生产数据库(PostgreSQL 14),另一个用于您的测试数据库(PostgreSQL 12.8)。 两者数据库中的表具有相同的名称,但数据库的结构不同。 您可以分别将 SQL 文件与任一数据库关联。

让我们将 postgresql_12.sql 映射到 PostgreSQL 12.8 数据源,并将 postgresql_14.sql 映射到 PostgreSQL 14

SQL 解析范围

两个数据源都具有 actor 表,但这个表存储在不同的模式中(guest.public.actorpostgres.public.actor)。 所以,如果我们尝试限定 actor 表或使用代码补全,补全建议将与相应的数据源关联。

完成列表中的建议

如果我们在这些文件之间交换查询,将会得到错误(第 14-15 行)。 由于我们在 PostgreSQL 14guest.public 下没有表格,并且在 PostgreSQL 12.8 中也没有 postgres 架构。

添加 SQL 解析范围

  1. Ctrl+Alt+S 打开设置,然后选择 语言和框架 | SQL 解析范围

  2. 点击 Add 按钮。

  3. 在文件浏览器中,导航到您要与数据源关联的文件或目录。

  4. 点击 打开

  5. 点击 解析作用域 列的单元格,然后选择 您 想要与此目录或文件关联的数据源。

    要在您的项目代码中使用 SQL 编码辅助功能,请启用 language injections

SQL 解析范围

设置

项目

描述

项目映射

一组数据源、数据库和架构,供项目中的所有 SQL 文件默认使用,以解析数据库对象的未限定名称。

如果下表中未设置映射,则文件和目录使用项目映射。

路径

要与数据源或一组数据源关联的文件或目录的路径。

解析作用域

一个将与文件或目录关联的数据源或一组数据源。

如果您为已关联到数据源的目录添加映射,IDE 将显示通知对话框。 在此对话框中,您必须选择子代是继承父代的范围还是保留其范围。

最后修改日期: 2025年 9月 26日