java在脱机模式下使用Liquibase为空数据库生成变更日志
正如标题所说,我想使用Liquibase在脱机模式下为空数据库生成一个变更日志。我的ant文件如下所示:
<project xmlns:liquibase="antlib:liquibase.integration.ant">
<taskdef resource="liquibase/integration/ant/antlib.xml" uri="antlib:liquibase.integration.ant">
<classpath>
<pathelement location="antlibs/liquibase-core-3.5.3.jar" />
<pathelement location="antlibs/snakeyaml-1.18.jar" />
</classpath>
</taskdef>
<target name="generate-changelog">
<liquibase:generateChangeLog>
<liquibase:database url="offline:postgresql?snapshot=snapshot.json" />
<liquibase:xml outputfile="target/changelog.xml" encoding="UTF-8" />
</liquibase:generateChangeLog>
</target>
后来,我想添加Liquibase-Hibernate4,以从实体生成变更日志,但我事先遇到了各种问题。如果我只是使用url“offline:postgresql”,ant任务会崩溃,出现NullPointerException,因为Liquibase试图克隆不可用的快照。如果我添加“?snapshot=snapshot.json”,Liquibase(或Yaml)将无法找到我的文件
我的问题是:
- 当我只想为我的实体创建变更日志而根本不需要任何基本快照时,这是正确的方法吗李>
- 有没有更简单的方法来为liquibase提供一个空数据库作为基础李>
- 如何添加快照。json,以确保ant任务能够找到它李>
# 1 楼答案
与此同时,我发现了一些事情: