首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不使用changelog文件的情况下运行liquibase回滚?

在不使用changelog文件的情况下运行liquibase回滚?
EN

Stack Overflow用户
提问于 2015-04-13 22:41:48
回答 2查看 767关注 0票数 2

没有changelog文件,Liquibase无法回滚。在运行回滚时,需要提供原始的changelog/changesets文件。

我的问题是:有没有办法在没有文件的情况下运行回滚?

例如:将文件(或回滚命令)存储在数据库commands表中?

EN

回答 2

Stack Overflow用户

发布于 2015-04-16 12:53:13

您可以使用Liquibase的"Future Rollback SQL“特性。它以几种不同的方式暴露出来。

Java API

代码语言:javascript
复制
Liquibase.futureRollbackSQL(...)

Spring Integration

代码语言:javascript
复制
SpringLiquibase.setRollbackFile(...)

Maven Integration

代码语言:javascript
复制
 mvn liquibase:futureRollbackSQL

Ant Integration

代码语言:javascript
复制
<liquibase:rollbackFutureDatabase outputfile="/path/to/rollback-future.sql".../>

Command Line

代码语言:javascript
复制
liquibase futureRollbackSQL

如果您将此功能与update或updateSQL结合使用,那么您将能够回滚更新,而无需原始更改日志。

票数 1
EN

Stack Overflow用户

发布于 2015-04-16 00:56:43

据我所知,liquibase从变更集动态地生成回滚命令(在可能的情况下)。

因此,它将始终需要changelog文件来执行此操作。

我不认为有一个简单的解决方案来做到这一点。liquibase的全部意义在于将变更集保存在单独的文件中,这样您就可以将它们放入某种版本控制系统中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29608169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档