Drop MySQL table using Liquibase

Viewed 17539

I am looking to drop a table in MySQL using Liquibase only if the table exists.

I am not able to figure out how to check if a table exists in Liquibase.

3 Answers

Below is the Groovy version of dropping the table with Liquibase using preConditions chack that the table exists.

changeSet(author: "author", id: "some_id_value") {
    preConditions(onFail: "MARK_RAN"){
        tableExists(tableName: "table_name")
    }

    dropTable(tableName: "table_name")
}

Here is a YAML snippet for dropping a table if exists

- changeSet:
    id: drop-my-table-if-exists
    author: the-author
    comment: drop my_table if exists
    preConditions:
    - onFail: MARK_RAN
    - tableExists:
        tableName: my_table
    changes:
    - dropTable:
        tableName: my_table
Related