是否可以使用 SQL 查询来查明 Mirth 频道是否被禁用?

Is it possible to use a an SQL query to find out whether a Mirth channel is disabled or not?

是否可以使用 SQL 查询来查明 Mirth 频道是否被禁用?我知道可以通过 API 调用来完成,但我正在尝试使用纯数据库方法。

是的,你可以。

SELECT * FROM public.configuration where name = 'channelMetadata'; 将 return 一个 XML 字符串,其中包含具有 enabled/disabled 状态、最后修改时间戳和修剪选项的通道元数据。

这些条目看起来像:

  <entry>
    <string>C88749A7-BDF5-45D8-AC41-DF0884B15098</string>
    <com.mirth.connect.model.ChannelMetadata>
      <enabled>false</enabled>
      <lastModified>
        <time>1621527614990</time>
        <timezone>America/Chicago</timezone>
      </lastModified>
      <pruningSettings>
        <pruneMetaDataDays>3</pruneMetaDataDays>
        <archiveEnabled>false</archiveEnabled>
      </pruningSettings>
    </com.mirth.connect.model.ChannelMetadata>
  </entry>

它们是连载的 Java Map<String, com.mirth.connect.model.ChannelMetadata>。关键是频道 ID,您可以在 channel table 中查找名称、频道定义本身等

请注意,这表明 enabled/disabled 与 started/stopped 不同。 started/stopped 状态只能通过 API 调用获得,因为它是 MC 的 运行 状态并保存在内存中。