【发布时间】:2016-11-19 02:39:05
【问题描述】:
我是 Liquibase 的新手,我正在尝试让回滚功能正常工作。我在 Windows 中运行 Liquibase。我执行了将数据库标记为 version_1.0 的安装。我运行了一个更新,将数据库标记为 version_1.1。现在我正在尝试回滚到 version_1.0
这是我正在运行的命令:
liquibase rollback version_1.0
这给出了一个需要 --changeLogFile 的错误,所以我运行了这个
liquibase --changeLogFile=v001/master.xml rollback version_1.0
我提供了在更新期间执行的更改日志文件的名称,但没有得到任何信息。更新包含 2 个创建表语句,并且未删除表。我在回滚过程中遗漏了什么?
【问题讨论】:
-
如果您可以显示更改日志的内容、DATABASECHANGELOG 表的内容以及命令的任何输出,那将有所帮助。
-
我调用了不正确的 changeLogFile。我能够看到将被回滚的更改并使用 rollbackSQL 命令调试问题
-
为什么我需要提供该 changeLogFile 的名称?它不应该知道自 version_1.0 以来实现的所有更改以及与 DATABASECHANGELOG 表关联的 changeLogFiles 吗?
-
当更改日志文件名保存到 DATABASECHANGELOG 表时,它被用作唯一标识符,而不是实际文件的路径。通常,它是您正在处理的某个“项目”的根目录的相对路径。当 Liquibase 在特定机器上运行时,它需要找到一个实际文件,这就是您在命令行中提供的内容。
标签: liquibase