无法在 Database 工具窗口中找到数据库对象
如果您在架构级别下看不到任何对象、找不到对象变更、遇到损坏的表或其他可视化问题,请收集诊断信息并尝试执行故障排除步骤以解决该问题。
收集诊断信息
为了分析内省并诊断可能的问题,PyCharm 可以生成包含以下信息的三个文件:
dataSource.txt :数据源。
introspector.txt :用于从数据库加载元数据的模块。
model.xml :数据库模型的一部分。
当内省功能运行不正确时,此信息非常有用。
右键点击数据源并导航到 。
PyCharm 将生成包含内省器诊断信息的三个文件。

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

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

introspector.txt

model.xml

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

步骤 2。 验证是否选择了必要的模式
当您创建数据源时,数据源会在未选择任何模式的情况下创建。 您需要选择计划使用的架构。
若要选择模式,请执行以下操作之一:
在 数据库 工具窗口中,右键点击一个数据源并导航到 。 选择或清除 您 希望显示或隐藏的模式复选框。 按 Enter。
点击数据源名称旁边的 M 中的 N 链接。 在数据库和架构选择窗口中,选择或清除您希望显示或隐藏的架构复选框。 按 Enter。

默认架构 或 默认数据库 是与数据源连接时当前的架构或数据库。 当前模式是会话中当前的模式。 您可以使用 SET CURRENT_SCHEMA 更改当前 schema。 默认模式取决于数据库设置和您在 JDBC URL 中设置的数据源设置。
您可以在数据源的连接设置中更改此默认值。 要更改默认值,请点击 数据源属性 图标 ,位于 数据库 工具窗口( )中。 从数据源列表中选择您的数据源。 在 数据库 字段中,输入您希望用作默认值的架构或数据库的名称。
步骤 3。 请确认树筛选已关闭
如果某种对象类型的项目被过滤掉,这些对象将在 数据库 工具窗口中被隐藏。
为了确保数据库对象未从视图中过滤掉,请执行以下操作:
在 数据库 工具窗口工具栏中,点击
查看选项。
选择
过滤器。
导航到数据库对象类型,并确保复选框已勾选。
过滤器图标角落的绿色点表示过滤器已开启,并且一些对象已被过滤。
除视图和表外,所有内容均被过滤掉

没有任何过滤

步骤 4。 强制刷新模式信息
强制刷新 操作会清除缓存中的数据源信息,并从头开始重新加载。
在 数据库 工具窗口中,右键点击一个数据源,然后选择 。

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

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