liquibase 命令行:找不到元素“changeSet”的声明

2023-12-02

我正在尝试组织我的变更集,以便每个文件都有一个变更集元素,如Liquibase 最佳实践,但是当我尝试对 Liquidbase xml 文件使用 validate 命令时,出现以下错误。

liquibase:cvc-elt.1:找不到元素的声明 '更改集'。 liquibase:作为 SAXException 抛出错误:解析错误 ./1.xml 第 3 行第 38 列:cvc-elt.1:找不到以下声明 元素“changeSet”。

我究竟做错了什么?

master.xml:

<databaseChangeLog
    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd
    http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">

    <include file="./1.xml"/>
    <include file="./2.xml"/>
</databaseChangeLog>

1.xml:

<?xml version="1.0" encoding="utf-8" ?>

<changeSet  id="1" author="me">
    <createTable
        tableName="CLIENTS"
        ...
    </createTable>
</changeSet >

每个包含的文件都需要具有与标准变更日志相同的 XML 根节点 - 因此您的 1.xml 应如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<databaseChangeLog
    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd
    http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
  <changeSet  id="1" author="me">
      <createTable
          tableName="CLIENTS"
          ...
      </createTable>
  </changeSet >

您可能还需要在主变更日志中指定包含的文件与主变更日志相关。

...
  <include file="1.xml" relativeToChangelogFile="true"/>
...

您是否需要这样做取决于您运行 liquibase 的方式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

liquibase 命令行:找不到元素“changeSet”的声明 的相关文章

随机推荐

  • 错误响应:[13] 创建 Google Cloud Storage 存储桶时发生内部错误

    我正在努力推动Nodejs示例应用程序Hello World但推动后我收到错误 错误 gcloud app deploy 错误响应 13 内部错误 创建 Google Cloud Storage 存储桶时发生 代码没有任何问题 因为它只是从
  • 使用Puppeteer,如何获取Chrome DevTools的“网络”选项卡的计时信息?

    下面是我访问的截图https www ted com并检查 Google Chrome DevTools 的 网络 选项卡 并查看根请求和子请求的计时数据 如何使用 Puppeteer 以编程方式获取上述所有计时数据 理想情况下 它看起来像
  • 在 Java FX 中将 TextField 输入限制为十六进制值

    如何将用户的输入限制为仅十六进制值 使用十进制表示法时 范围是从 0 到 16383 但我想让用户输入一个十六进制数TextField 因此范围应该是从0x0000 to 0x3FFF 我已经通过以下方式构建了我的 GUISceneBuil
  • Spring Data Rest - 在 _embedded 中包含嵌套资源

    我正在为购物清单开发一个 Spring Boot 应用程序 为此 我使用 Spring Data Rest 通过 REST API 导出我的实体 我的架构看起来像这样 我有一个购物项目 public class ShoppingItem I
  • 语法错误:使用 Bash 时需要操作数

    我有两个想要循环的数组 我正确地构造了它们 在进入 for 循环之前 我确实回显它们以确保数组一切正常 但是当我运行脚本时 它输出一个错误 l lt syntax error operand expected error token is
  • XML 表到 LaTeX

    假设我有一个以下形式的 XML 表 table tr td First Name td td Bill Gates td tr tr td Telephone td td 555 77 854 td tr tr td 555 77 855
  • 来自 ASP.Net 服务器的推送通知

    我有一个执行一些操作的网络服务 当事件发生时 我会通知客户 我遇到的问题是我能够从客户端连接到服务器 但反之则不行 因为客户端恰好位于 NAT 路由器 后面 目前 我每分钟都会发出请求以检查通知 如果我能有一种技术可以更快地通知客户 而不必
  • 蓝牙 BLE 服务在 onCharacteristicRead 处返回状态 = 10

    我尝试从我连接的设备读取一些配置 但在回调中 onCharacteristicRead 参数 status 10 我注意到 status 0 表示 BluetoothGatt GATT SUCCESS 10 代表什么 我的代码如下 publ
  • HTML:使用innerHTML绘制表格

    document getElementById outputDiv innerHTML document getElementById outputDiv innerHTML table border 1 width 100 tr for
  • Cobertura 不适用于 Java 7

    我使用的是maven 3 0 4 JRE 1 7 0 09 当我使用mvn clean install我所有的测试都通过了 一切看起来都很好 这是我的 Surefire 插件配置
  • 构建 Flask-Restful API 以使用 SQLAlchemy

    因此 我尝试使用 Flask Restful 制作一个 API 但我找到的所有示例都将所有内容放入一个 app py 文件中 我在中找到了信息Flask Restful 文档解释如何构建 API 但不包含任何使用数据库的内容 我已经发布了我
  • Tomcat Guice/JDBC 内存泄漏

    由于 Tomcat 中的孤立线程 我遇到了内存泄漏 特别是 Guice 和 JDBC 驱动程序似乎没有关闭线程 Aug 8 2012 4 09 19 PM org apache catalina loader WebappClassLoad
  • signalR MVC 站点在 signalR 安装后无限期加载[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我创建了一个全新的 MVC4 应用程序 从 NuGet
  • 访问 JButton ActionListener 中的变量

    这似乎是一个非常简单的问题 但我在弄清楚如何处理它时遇到了很多麻烦 示例场景 final int number 0 JFrame frame new JFrame frame setVisible true frame setDefault
  • 我可以删除所有迁移文件并从头开始吗?

    我有一个 Rails API 应用程序 我将在很长一段时间后重新部署它 该应用程序是非生产版本 但我已准备好部署生产版本 我想基本上删除所有迁移文件并使用架构从头开始 这种方法有什么问题吗 假设我可以做到这一点 我需要将 schema rb
  • 使用 CSS 创建功能区

    我终于创建了侧边栏菜单 现在我需要在选定的项目上创建功能区 例如显示图像 红色 我需要真正的灰色功能区 但我不想使用图像背景而只使用 css 类 因此 我可以动态地删除类名并添加到另一个项目 我有一个you are here我想要查看功能区
  • 解析 .ini 文件

    我的问题是关于使用 Windows 命令行解析 ini 文件 我在尝试从文件中删除包含所有键的部分时陷入困境 该部分的名称已知并保存在变量中 我尝试保存行 开始 结束 以删除之间的内容 但它对我不起作用 这里有人可以帮助我吗 edit 这是
  • Seaborn 水平条形图

    默认的 Seaborn 条形图几乎对我有用 尽管有一些细节 如下图所示 请查看每个栏旁边和右侧的 文本 注释 有几点我想改进 由于某种原因 最后一栏不显示注释 我不知道如何解决这个问题 条形边缘与顶部和底部 X 轴之间没有空间 我想在那里留
  • 如何在地图上渲染标记时显示加载图标

    现在我正在开发一个应用程序 我必须在地图上大致显示大量标记 30K 到 50K 现在渲染地图时需要时间来渲染整个点 所以我想添加一个加载 gif 图标而 Navteq Map 渲染点 以便用户知道该地图正在渲染点 我正在使用最新的诺基亚 此
  • liquibase 命令行:找不到元素“changeSet”的声明

    我正在尝试组织我的变更集 以便每个文件都有一个变更集元素 如Liquibase 最佳实践 但是当我尝试对 Liquidbase xml 文件使用 validate 命令时 出现以下错误 liquibase cvc elt 1 找不到元素的声