有没有办法使用 liquibase 截断所有表?

Rub*_*nex 6 java database oracle liquibase

我想在应用程序投入生产之前截断它的所有数据我正在查看文档并且没有找到任何关于使用 liquibase 截断表的信息。所以我想知道是否有人解决了类似的问题

Eri*_* B. 6

您可以使用本机 SQL。它不是 liquibase 结构本身,也不是数据库不可知的,但我怀疑 liquibase 支持的任何数据库平台都应该支持截断命令。当然,在截断任何表时要小心外键引用,并确保以正确的顺序截断。

例如:

<changeSet author="eric.b" id="10288-201-5">
    <comment>Clear any existing legacy data in the tables</comment>
    <sql splitStatements="true">
        TRUNCATE TABLE ADDRESS;
        TRUNCATE TABLE PHONE;
        TRUNCATE TABLE USERS;
    </sql>
</changeSet>
Run Code Online (Sandbox Code Playgroud)