找到多个匹配 null.PUBLIC 的目录/模式 - Hsqldb / Liquibase

Posted

技术标签:

【中文标题】找到多个匹配 null.PUBLIC 的目录/模式 - Hsqldb / Liquibase【英文标题】:Found multiple catalog/schemas matching null.PUBLIC - Hsqldb / Liquibase 【发布时间】:2014-11-04 23:15:45 【问题描述】:

我正在使用带有 liquibase 和 hsqldb 1.8 的 Atlassian Jira SDK。

当我运行 liquibase maven 插件来安装数据库架构时,会打印以下错误:

[错误] 无法在项目 portal-db 上执行目标 org.liquibase:liquibase-maven-plugin:3.2.2:update (default-cli):设置或运行 Liquibase 时出错:liquibase.exception.UnexpectedLiquibaseException:liquibase .snapshot.InvalidExampleException:找到多个与 null.PUBLIC 匹配的目录/模式 -> [帮助 1]

Java 版本:1.6 Jira SDK:5.0.4 Hsqldb:1.8 Liquibase:3.2.2

如何解决这个问题?感谢阅读。

【问题讨论】:

您究竟想用 Liquibase 和 HSQLDB 做什么,这与您使用 JIRA 有何关系? 嗨。我正在使用 sdk 开发一些 jira 插件。在 jira 本地数据库 (HSQLDB) 中,我需要创建一些自定义表作为插件的一部分。 我想在这个 HSQLDB 中运行 liquibase 并应用自定义 sql 对象。 听起来您的 HSQL 可能正在尝试使用与 JIRA 自己的 HSQL 相同的数据文件。出于各种原因,不鼓励将数据直接存储在 JIRA 数据库中;我怀疑您需要尝试配置您的 HSQL 副本以在默认位置以外的某个位置实例化一个新数据库。我不是 HSQL 专家,但除了数据存储位置所需的任何配置之外,您可能还需要显式地将 HSQL 与 scope=compile 捆绑在一起。 谢谢,我会尝试为我的自定义数据库创建另一个数据库实例。 【参考方案1】:

如果你想编写一个 JIRA 插件,它在与 JIRA 相同的数据库中拥有自己的表,我推荐Active Objects。

来自 Atlassian 文档:

Active Objects 是 Atlassian 产品中的新 ORM(对象关系映射)层。 Active Objects 是作为 Atlassian 应用程序的插件实现的。与现有的 Bandana 和 PluginSettings API 相比,它可以更轻松、更快速、更可扩展地访问和存储数据。

Active Objects 插件的目标是提供一个插件数据存储组件,插件可以并且应该使用它来保存其私有数据。 ...

【讨论】:

以上是关于找到多个匹配 null.PUBLIC 的目录/模式 - Hsqldb / Liquibase的主要内容,如果未能解决你的问题,请参考以下文章

找到多个与名为“Home”的控制器匹配的类型

Java模式与组匹配

使用正则表达式匹配多个逗号分隔的单词

如何使用与PostgreSQL和Python的模式匹配与多个百分比(%)符号?

列出与Java中的模式匹配的目录中的文件[重复]

蚂蚁路径样式模式