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

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

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

introspector.txt

model.xml

要报告问题,您可以使用 “在哪里报告问题”部分中描述的任何选项。 但我们建议使用 JetBrains 支持中心。
在 JetBrains 支持中心提交请求
单击 。
填写 提交请求 表单。
如果可能,请附上一些 疑难解答资料。
单击 提交。
执行故障排除步骤
步骤 1。 更新数据库状态
如果有人更改了远程数据库中的数据或视图,数据库的本地视图可能与数据库的实际状态不一致。
要自动同步数据库状态,请在 数据库 工具窗口( )中,点击 数据源属性 按钮
并选择您要更改的数据源。 在 选项 选项卡上,选中 自动同步 复选框。
如果 自动同步 复选框被清除,则 数据库 工具窗口( )中的数据源视图仅在您点击 刷新 图标
或按下 Ctrl+F5 时与数据库的实际状态同步。

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

默认架构 或 默认数据库 是与数据源连接时当前的架构或数据库。 当前模式是会话中当前的模式。 您可以使用 SET CURRENT_SCHEMA 更改当前 schema。 默认模式取决于数据库设置和您在 JDBC URL 中设置的数据源设置。
您可以在数据源的连接设置中更改此默认值。 要更改默认值,请点击 数据源属性 图标 ,位于 数据库 工具窗口( )中。 从数据源列表中选择您的数据源。 在 数据库 字段中,输入您希望用作默认值的架构或数据库的名称。
步骤 3。 确保选择了所需的内省级别
为数据库或架构加载的元数据量取决于为其选择的内省级别。 为确保加载足够的元数据,请执行以下操作:
检查当前为您的架构选择的内省级别。 为此,请在 数据库 工具窗口中右键点击该架构,然后转到 内省级别 子菜单。
当前选择的级别会带有对勾。 使用 内省级别说明 以检查该级别提供的元数据量是否足够。
如果当前选择的级别为 默认(自动选择) ,请选择 级别 3:全部。
有关各级别的更多信息,请参阅 内省级别 主题。

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

没有任何过滤

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

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

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