我正在使用oracle数据库的liquibase,在对特定的changeSet执行更新命令后,该changeSet的日志被插入到DATABASECHANGELOG表中,但是如果我执行rollbackCount命令来回滚该changeSet,插入的日志被删除,并且我找不到执行和回滚的更改的历史记录。
Liquibase的DATABASECHANGELOG表只记录数据库中的内容。它不是一个审计历史记录工具。
对于审计,您可以查看使用Liquibase Hub,它记录更新和回滚操作,因此您将有操作执行时间的记录。
也可以在回滚前执行rollback-*-sql命令。例如:rollback-count-sql
、rollback-sql
、rollback-to-date-sql
。这些命令将向控制台输出回滚SQL,但不会在数据库上执行回滚。您需要执行实际的回滚操作。
liquibase rollback-count-sql 10
检查生成的SQL或将其记录到文件中。如果对生成的SQL满意,那么运行:
liquibase rollback-count 10