使用liquibase为单个sql文件生成changeLog

时间:2018-05-29 11:21:30

标签: sql migration local liquibase

我有一个包含许多SQL文件的庞大数据库。有没有办法为单个SQL文件而不是整个数据库生成更改日志?我已经在我的硬盘驱动器上存储了一些本地SQL文件,并通过命令行使用liquibase。如果无法使用本地SQL文件执行此操作,是否有办法为我的数据库的单个表生成更改日志?

1 个答案:

答案 0 :(得分:2)

您正在寻找的是不可能的。数据库不记得为使数据库进入某种状态而执行的SQL。这是一个非常简单的例子。假设您首先运行一些SQL来创建一个包含两列' name'并且' id'。然后再运行一些sql来添加第三列' active'。数据库不记得运行了两个单独的操作来进入该状态。当Liquibase为该数据库生成更改日志时,它基本上必须询问数据库'事物的当前状态是什么?'所以它会有一个变更集,用于创建包含所有三列的表。

有可能让liquibase生成较小的更改日志文件,但您可能应该退后一步并问自己为什么要这样做。