当前位置: 首页 > 知识库问答 >
问题:

Liquibase用于迁移SQL Server时生成的changelog xml-error cvc-complex-type.2.3

东方飞捷
2023-03-14

我以前见过类似的话题,但没有解决方案

完整的堆栈跟踪是这样的...

严重的7/27/16下午6:14:liquiBase:CVC-complex-type.2.3:元素“create table”不能有字符[子],因为该类型的内容类型是只包含元素的。LiquiBase.exception.ChangeLogParseException:解析MSSQL-ConfluenceTest-ChangeLog.xml的第144行第23列时出错:cvc-complex-type.2.3:元素“create table”不能包含字符[childrement],因为该类型的内容类型仅为元素。在liquiBase.parser.core.xml.xmlchangelogsaxparser.parsetonode(xmlchangelogsaxparser.java:114),在liquiBase.parser.core.xml.abstractchangelogparser.parse(abstractchangelogparser.java:17),在liquiBase.liquiBase.java:17),在liquiBase.liquiBase.java:229),在liquiBase.liquiBase.java:202),在main.main(main.java:103)由:org.xml.sax.saxParseException引起;亚麻编号:144;栏号:23;cvc-complex-type.2.3:元素“create table”不能包含字符[子项],因为该类型的内容类型是只包含元素的。在com.sun.org.apache.xerces.internal.util.errorHandlerWrapper.createsAxparseException(errorHandlerWrapper.java:198)在在com.sun.org.apache.xerces.internal.impl.xmlerrorreporter.report恐怖(xmlerrorreporter.java:325)在com.sun.org.apache.xerces.internal.impl.xs.xmlschemavalidator$xsierrorreporter.report恐怖(xmlschemavalidator.java:458)在com.sun.org.apache.xerces.internal.xs.xmlschemavalidator.report恐怖(xmlschemavalidator.java.java:3200)在com.sun.org.apache.xerces.internal.impl.xs.xmlSchemaValidator.ElementLocallyValidType(xmlSchemaValidator.java:3160)在com.sun.org.apache.xerces.internal.impl.xs.xmlSchemaValidator.processElementContent(xmlSchemaValidator.java:3062)在com.sun.org.apache.apache.xerces.internal.impl.xs.xmlSchemaValidator.handleendElement(xmlSchemaValidator.java:210)在com.sun.org.apache.xerces.internal.xs.xmlSchemaValidator.java:210)在erimpl.java:814)在com.sun.org.apache.xerces.internal.impl.xmldocumentscannerimpl$fragmentcontentdriver.next(xmldocumentfragmentscannerimpl.java:2973)在com.sun.org.apache.apache.xerces.internal.impl.xmldocumentscannerimpl.java:2973)在com.sun.org.apache.xerces.internal.impl.xmldocumentscannerimpl.next com.sun.org.apache.xerces.internal.parsers.xml11configuratio的entfragmentscannerimpl.Scandocument(xmldocumentfragmentscannerimpl.java:510)n.parse(xml11configuration.java:848)在com.sun.org.apache.xerces.internal.parsers.xml11configuration.java:777)在com.sun.org.apache.xerces.internal.parsers.xmlparser.parse(xml11configuration.java:141)在com.sun.org.apache.xerces.internal.abstractsaxparser.parse(xml11configuration.java:1213)在liquiBase.parser.core.xml.xmlChangeLogsaxParser.Parsetonode(xmlChangeLogsaxParser.java:106)...7

这就是XML的问题...

<changeSet author="amartin (generated)" id="1469664903727-11" objectQuotingStrategy="QUOTE_ALL_OBJECTS">
<createTable tableName="AO_5FB9D7_AOHIP_CHAT_LINK">
    <column name="ADDON_TOKEN_EXPIRY" type="datetime"/>
    <column name="API_URL" type="nvarchar(255)"/>
    <column name="CONNECT_DESCRIPTOR" type="ntext"/>
    <column defaultValueNumeric="0" name="GROUP_ID" type="int"/>
    <column name="GROUP_NAME" type="nvarchar(255)"/>
    <column autoIncrement="true" name="ID" type="int">
        <constraints primaryKey="true" primaryKeyName="pk_AO_5FB9D7_AOHIP_CHAT_LINK_ID"/>
    </column>
    <column name="OAUTH_ID" type="nvarchar(255)"/>
    <column name="SECRET_KEY" type="nvarchar(255)"/>
    <column name="SYSTEM_PASSWORD" type="nvarchar(255)"/>
    <column name="SYSTEM_TOKEN_EXPIRY" type="datetime"/>
    <column name="SYSTEM_USER" type="nvarchar(255)"/>
    <column name="SYSTEM_USER_TOKEN" type="nvarchar(255)"/>
    <column name="TOKEN" type="nvarchar(255)"/>
</createTable>
</changeSet>

共有1个答案

宣熙云
2023-03-14

我也有同样的错误:使用Java1.7_55、Centos OS和liquibase 3.5.3。

更新到Java1.7_80解决了这个问题。

 类似资料:
  • 我正在编写一个带有Spring boot的RESTfull API,使用Maven Liquibase来管理数据库的MySQL8迁移。 我已经在网上搜索了(1,2,3),但Liquibase在迁移中仍然生成“tinyblob”类型,而不是“point”或“geometry”。令人惊讶的是,当我编辑迁移文件(即changeSet并使用“point”)时,仍然在数据库上创建列。 我有一个典型的JPA实

  • 问题内容: 我对ES非常陌生。我一直在尝试搜索数据库迁移工具,但找不到。我想知道是否有人可以帮助我指出正确的方向。 我将使用Elasticsearch作为项目中的主要数据存储。我想对我在项目中开发新模块时运行的所有映射和配置更改/数据导入/数据升级脚本进行版本控制。 过去,我使用过数据库版本控制工具,例如Flyway或Liquibase。 我可以在ES中使用任何框架/脚本或方法来实现类似目的吗?

  • 在docker容器中部署应用程序时,我无法使用Spring Boot实现liquibase迁移。我有一个胖罐子,它是在docker图像创建时提取的。 我有一个单独的模块,保存迁移文件。我能装上主机。xml: 然后它继续并加载其余的资源。问题在于然后从加载的资源中提取仍然正常的实际路径: 但是接下来做一些路径操作,结果是: 这反过来又不是有效的类路径: 我需要(类路径)或以能够读取文件。但它总是以上

  • 我正在使用Docker图像来宿主Flowable。DB驱动程序是Postgres。当我们启动IDM和REST时,它运行liquibase脚本来创建db表。由于默认配置是drop-create(databaseSchemaUpdate)在代码库中的databaseSchemaUpdate中的drop-create(drop-create),因此很难扩展甚至重新启动docker idm和rest(因为

  • 我使用的是Liquibase 3.0.2、Ant task updateDatabase和直接在SQL脚本中定义的变更集,使用的注释如下 等 第一次运行工作正常,执行所有更改集并部署DB对象(oracle)。我可以看到DATABASE CHANGELOG和DATABASE CHANGELOGLOCK表填满了。 然后,我尝试用相同的精确配置重新运行Ant任务,希望Liquibase会说“好的,所有的

  • 我有一个问题启动我的Java应用程序 liqibase更新出错: