遵循Liquibase 官方网站上的本指南,我创建了自己的changelog-master.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="https://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.liquibase.org/xml/ns/dbchangelog https://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd">
<includeAll path="/home/username/liquibase/examples/sqlite-test" filter="sql"/>
</databaseChangeLog>
Run Code Online (Sandbox Code Playgroud)
然后我liquibase.properties在同一个文件夹中创建了该文件:
# Enter the path for your changelog file.
changeLogFile=changelog-master.xml
#### Enter the Target database 'url' information ####
url=jdbc:sqlite://home/username/liquibase/examples/sqlite-test/testdb
Run Code Online (Sandbox Code Playgroud)
这是正确的,因为如果我运行正常的 .sql 更改日志,它会正确运行并更新我的数据库。
我然后创建了SQL changelog文件时,它有启动时自动执行的liquibase update是000020-changelog.sql
--liquibase formatted sql
--changeset daniel:3
create table phonebook(name TEXT, surname TEXT, type TEXT, phone_number TEXT);
Run Code Online (Sandbox Code Playgroud)
但是当我去启动时,我liquibase update从 XML 解析器收到一个错误:
运行 Liquibase 时出现意外错误:cvc-elt.1.a:找不到元素“databaseChangeLog”的声明。
我无法理解问题是什么。我已经多次检查changelog-master.xml文件是否正确并且看起来是正确的。从我能找到的cvc-elt.1.a是一个 XML 解析错误,就像databaseChangeLog …