在数据库工具窗口中找不到数据库对象
如果在架构级别以下看不到任何对象、找不到对象的更改、出现损坏的表或任何其他可视化问题,请收集诊断信息并尝试故障排查步骤以解决该问题。
收集诊断信息
为分析自省并诊断可能的问题, PyCharm 可以生成三个文件,其中包含以下信息:
dataSource.txt :数据源。
introspector.txt :用于从数据库加载元数据的模块。
model.xml :数据库模型的一部分。
当自省工作不正常时,这些信息很有帮助。
右键点击数据源并转到 。
PyCharm 将生成包含自省器诊断信息的三个文件。

点击 已收集的诊断信息 通知消息中的链接以转到生成的文件所在的目录。

以下屏幕截图显示这三个文件的示例输出。
dataSource.txt

introspector.txt

model.xml

执行故障排查步骤
步骤 1。 刷新数据库状态
如果有人更改了远程数据库数据或视图,本地的数据库视图可能与数据库的实际状态不一致。
要自动同步数据库状态,请在 数据库 工具窗口 () 中,点击 数据源属性 按钮
,并选择您要更改的数据源。 在 选项 选项卡上,选中 自动同步 复选框。
如果清除了 自动同步 复选框,则仅当您点击 刷新 图标
或按下 Ctrl+F5 时, 数据库 工具窗口 () 中数据源的视图才会与数据库的实际状态同步。

步骤 2。 验证是否已选择所需的架构
当您创建数据源时,数据源会在未选择任何架构的情况下创建。 您需要选择计划使用的架构。
要选择架构,请执行以下任一操作:
在 数据库 工具窗口中,右键点击数据源并转到 。 选中或清除要显示或隐藏的架构对应的复选框。 按下 Enter。
点击数据源名称附近的 第 N 个,共 M 个 链接。 在数据库与架构选择窗口中,选中或清除要显示或隐藏的架构的复选框。 按下 Enter。

默认架构 或 默认数据库 是连接到数据源时的当前架构或数据库。 当前架构是会话中的当前架构。 您可以使用 SET CURRENT_SCHEMA 更改当前架构。 默认架构取决于数据库设置以及您在 JDBC URL 中设置的数据源设置。
您可以在数据源的连接设置中更改此默认值。 要更改默认值,请在 数据库 工具窗口 () 中点击 数据源属性 图标 。 在数据源列表中,选择您的数据源。 在 数据库 字段中,输入要用作默认值的架构或数据库的名称。
步骤 3。 确保已选择所需的自省级别
为数据库或架构加载的元数据量取决于为其选择的自省级别。 为确保加载足够的元数据,请执行以下操作:
检查为您的架构选择的当前自省级别。 为此,请在 数据库 工具窗口中右键点击该架构并转到 自省级别 子菜单。
当前选定的级别将以复选标记指示。 请参阅 自省级别说明 ,检查此级别提供的元数据量是否足够。
如果当前选择的级别为 默认(自动选择) ,请选择 级别 3:全部。
有关这些级别的详细信息,请参阅 自省级别 主题。

步骤 4。 验证树形过滤器已关闭
如果某类对象的条目在视图中被过滤掉,这些对象将在 数据库 工具窗口中被隐藏。
为确保数据库对象未被从视图中过滤掉,请执行以下操作:
在 数据库 工具窗口的工具栏中,点击
视图选项。
选择
筛选器。
定位到数据库对象类型,并确保已选中该复选框。
过滤器图标角上的绿色圆点表示过滤器已开启,并且某些对象被过滤掉。
除视图和表以外,其他全部被过滤

未过滤任何内容

步骤 5。 强制刷新架构信息
强制刷新 操作会从缓存中清除数据源信息,并从头重新加载。
在 数据库 工具窗口中,右键点击数据源并选择 。

步骤 6。 清除并同步架构缓存
清除 PyCharm 架构缓存(右键点击架构并选择 )。 同步视图(参见 Step 1. 同步数据库状态)。
切换到基于 JDBC 的自省器
请将此步骤视为临时性变通方案。 如果您无法在 数据库 工具窗口中看到对象,您可能有一个 bug。 收集故障排查材料 并 将其发送给我们的支持团队。
暂时启用使用 JDBC 元数据进行自省
通过以下任一方式打开数据源属性:
在 数据库 工具窗口的工具栏中,点击
数据源。
按下 Shift+Enter。

在 数据源 选项卡上,选择您要修改的数据源。
打开 高级 选项卡。
在 专家选项 列表中,选中 使用JDBC 元数据内省(M) 复选框。
同步视图(参见 Step 1. 同步数据库状态)。
