--liquibase formatted sql
--changeset NIKHIL:changelog_1.0.sql
--comment create Test_1 table
CREATE TABLE TEST_1 (
ID VARCHAR (40) NOT NULL,
ENV VARCHAR (32) NOT NULL,
TS TIMESTAMPTZ NOT NULL,
DATAOBJECT VARCHAR (32) NOT NULL,
CONSTRAINT TEST_1_PK PRIMARY KEY (env,id)
);
--rollback DROP TABLE TEST_1;
--liquibase formatted sql
--changeset NIKHIL:changelog_1.1.sql
--comment create Test_2 table
CREATE TABLE TEST_2 (
ID VARCHAR (40) NOT NULL,
ENV VARCHAR (32) NOT NULL,
TS TIMESTAMPTZ NOT NULL,
DATAOBJECT VARCHAR (32) NOT NULL,
CONSTRAINT TEST_2_PK PRIMARY KEY (env,id)
);
--rollback drop table TEST_2;
db.changelog.master.xml
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd
http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.7.xsd">
<include relativeToChangelogFile="true" file="db.changelog_1.0.sql"/>
<include relativeToChangelogFile="true" file="db.changelog_1.1.sql"/>
</databaseChangeLog>
更新CMD
liquibase --driver=org.postgresql.Driver --classpath="C:\Development\postgresql-42.2.6.jar" --changeLogFile="C:\Development\DBObjects\Changelog\db.changelog.master.xml" --url="jdbc:postgresql://127.0.0.1:5430/postgres" --username=postgres --password=PWD update
回滚CMD
liquibase --driver=org.postgresql.Driver --classpath="C:\Development\postgresql-42.2.6.jar" --changeLogFile="C:\Development\DBObjects\Changelog\db.changelog.master.xml" --url="jdbc:postgresql://127.0.0.1:5430/postgres" --username=postgres --password=PWD rollbackCount 10
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd
http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.7.xsd">
<include relativeToChangelogFile="true" file="db.changelog_1.0.sql"/>
<include relativeToChangelogFile="true" file="db.changelog_1.1.sql"/>
<changeSet author="NIKHIL" id="tag_1.0.0">
<tagDatabase tag="1.0.0" />
<changeSet>
</databaseChangeLog>
Starting Liquibase at Do., 15 Aug. 2019 13:57:19 MESZ (version 3.7.0 built at 2019-07-16 02:26:39)
Unexpected error running Liquibase: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"http://www.liquibase.org/xml/ns/dbchangelog":changeSet}'. One of '{"http://www.liquibase.org/xml/ns/dbchangelog":modifySql}' is expected.
liquibase.exception.ChangeLogParseException: Error parsing line 14 column 14 of C:/Development/GitHub/DBObjects/Changelog/db.changelog.master.xml: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"http://www.liquibase.org/xml/ns/dbchangelog":changeSet}'. One of '{"http://www.liquibase.org/xml/ns/dbchangelog":modifySql}' is expected.
at liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode(XMLChangeLogSAXParser.java:120)
at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:15)
at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:217)
at liquibase.Liquibase.update(Liquibase.java:190)
at liquibase.Liquibase.update(Liquibase.java:179)
at liquibase.integration.commandline.Main.doMigration(Main.java:1206)
at liquibase.integration.commandline.Main.run(Main.java:192)
at liquibase.integration.commandline.Main.main(Main.java:130)
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"http://www.liquibase.org/xml/ns/dbchangelog":changeSet}'. One of '{"http://www.liquibase.org/xml/ns/dbchangelog":modifySql}' is expected.
at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)
at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:135)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:511)
at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3587)
at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1971)
at java.xml/com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:829)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2708)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
at liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode(XMLChangeLogSAXParser.java:112)
... 7 common frames omitted
看来您忘记添加/
来关闭<变更集>
:
<changeSet author="NIKHIL" id="tag_1.0.0">
<tagDatabase tag="1.0.0" />
</changeSet>
我相信,这就是您获得SAXParseException
的原因。
此外,rollbackcount
会计算要回滚的变更集的数量。如果指定rollbackcount1
,它将回滚最后执行的变更集。如果将其指定为10,则将回滚最后的10个变更集。
我正在处理一个CMS格式的文本块像这样。 <代码> 双线返回<代码> 因为文本块已经有一个开头
我有一根绳子,看起来像这样:
问题内容: 我需要在C#中创建一个SQL格式化程序。谁能指出我在网上的一些资源?我需要实现一个成熟的解析器,还是有一个更简单的方法来实现呢? 问题答案: 看一下 在C#中解析SQL代码 也看一下 SQL漂亮打印机
本文向大家介绍java中使用xls格式化xml的实例,包括了java中使用xls格式化xml的实例的使用技巧和注意事项,需要的朋友参考一下 在java中调用xls格式化xml 使用javax.xml.transform.Transformer,将xml用xls格式化为另一种xml 输入为xml字符串,输出也为xml字符串,代码模板如下: Java代码 感谢阅读,希望能帮助到大家,谢谢大家对本站的
这是一个类似于使用XSLT设置内联文本和嵌套标记样式的问题,但我无法对其进行注释以获得澄清,因此我将在这里详细说明我的具体场景。我基本上有一个具有以下结构的XML文档: 我正在使用XSLT从XML文件中输出XHTML,并且我希望能够在上面示例中的place标记中的内容周围放置span标记或其他东西。其目的是使我可以用CSS为这些文本段设置样式。按照我上面提到的示例,我添加了以下内容: 当我在浏览器
问题内容: 我有一个带时间戳字段的mySQL数据库。我正在测试时,目前只有一个项目, 我从数据库中提取并使用 我的最终结果显示为 有人知道为什么吗? 编辑:editedit:忽略该编辑… notepad ++的FTP附加组件超时,很遗憾,当它无法同步时,它不会显示错误。 问题答案: 该函数希望将UNIX时间戳记作为其第二个参数- 这意味着您必须将从数据库获取的日期转换为UNIX时间戳记,可以使用以