我已将新的变更集添加到migrations.xml,但是当我运行db migration config-file
时,它不会应用新的变更集但只是使用以下输出:
INFO [2015-02-10 12:59:34,193] liquibase: Successfully acquired change log lock
INFO [2015-02-10 12:59:34,809] liquibase: Reading from public.databasechangelog
INFO [2015-02-10 12:59:34,821] liquibase: Successfully released change log lock
我有两个变更集,只应用了第一个变更集。例如:
<changeSet id="1" author="me">
<changeSet id="2" author="me">
另外,我只看到databasechangelog表下的第一个变更集条目,这很奇怪。
如何应用我的新变更集?
答案 0 :(得分:2)
我遇到了类似的问题,最终意识到migration.xml文件打包在生成的jar文件中。每次对migrations.xml进行更改时,都需要重新编译jar。
您还可以使用--migrations标志指定它在jar外部的迁移文件。
答案 1 :(得分:0)
我们遇到了类似的问题。我们的问题是我们只将stdout输出到日志文件中,但是liquibase会输出与stderr相关的任何错误,这些错误是以静默方式删除的。
对于实际错误:我们实际上在变更集1中存在哈希不匹配(与存储在数据库中的内容相比),这就是变更集2未运行的原因。