使用 Liquibase 删除 MySQL table
Drop MySQL table using Liquibase
我希望仅在 table 存在的情况下使用 Liquibase 在 MySQL 中删除 table。
我不知道如何检查 Liquibase 中是否存在 table。
你应该使用
<changeSet author="liquibase-docs" id="dropTable-example">
<preConditions onFail="MARK_RAN"><tableExists schemaName="schemaName" tableName="tableName"/></preConditions>
<dropTable cascadeConstraints="true"
catalogName="cat"
schemaName="public"
tableName="person"/>
</changeSet>
此外,您可以查看此 link 以获得更多 <preConditions>
选项:
http://www.liquibase.org/documentation/preconditions.html
下面是 Groovy 版本,使用 preConditions
查明 table 存在,使用 Liquibase 删除 table。
changeSet(author: "author", id: "some_id_value") {
preConditions(onFail: "MARK_RAN"){
tableExists(tableName: "table_name")
}
dropTable(tableName: "table_name")
}
我希望仅在 table 存在的情况下使用 Liquibase 在 MySQL 中删除 table。
我不知道如何检查 Liquibase 中是否存在 table。
你应该使用
<changeSet author="liquibase-docs" id="dropTable-example">
<preConditions onFail="MARK_RAN"><tableExists schemaName="schemaName" tableName="tableName"/></preConditions>
<dropTable cascadeConstraints="true"
catalogName="cat"
schemaName="public"
tableName="person"/>
</changeSet>
此外,您可以查看此 link 以获得更多 <preConditions>
选项:
http://www.liquibase.org/documentation/preconditions.html
下面是 Groovy 版本,使用 preConditions
查明 table 存在,使用 Liquibase 删除 table。
changeSet(author: "author", id: "some_id_value") {
preConditions(onFail: "MARK_RAN"){
tableExists(tableName: "table_name")
}
dropTable(tableName: "table_name")
}