Liquibase - 如何跳过已执行的变更集

时间:2017-08-24 14:26:59

标签: sql-update refactoring liquibase dropwizard

我有一个由mysql数据库支持的dropwizard应用程序。我正在使用liquibase包装器进行数据库迁移

首先,我使用'db dump'命令为我自动生成migrations.xml文件。

现在我正在重构数据库,我希望能够更新特定的列名和表名。

我使用前提条件跳过已生成的表格以跳过“createTable”命令

<preConditions onFail="MARK_RAN">
            <not>
                <tableExists tableName="myTable" />
            </not>
        </preConditions>

我现在如何跳过主键和外键约束的执行?我可以使用更改日志级别的前提条件来指示“跳过已执行的更改集”吗?或者我只是创建一个新的migrations.xml?这会删除现有数据吗?

1 个答案:

答案 0 :(得分:1)

检查此前提条件http://www.liquibase.org/documentation/preconditions.html

您无法告诉liquibase跳过所有已执行的变更集,但您可以只排除该文件(您必须将migration.xml保存在其他文件夹中(即归档),因为有一天您可以创建db结构从头开始,您将需要更改集)

这意味着您可以使用要执行的更改集创建新的.xml文件。 Liquibase不会删除任何数据,它只适用于您提供给它的xml文件。