2015-06-10 80 views
0

我刚刚发现了Liquibase,而且我正在努力尝试自动化我的Oracle数据库版本。liquibase环境脚本

我想了解更多关于如何使用执行令牌替换我的SQL脚本,可能会有所不同,这取决于我的环境我运行Liquibase。

具体来说,Liquibase支持基于环境的SQL脚本的概念吗?即,我可能会有某些自定义的SQL脚本,这些脚本对于Test,Regression和Live可能会略有不同。因此,在执行我的Liquibase发布到回归时,只会执行那些回归特定的更改集,可能会使用回归参数。

提前致谢!

回答

0

是的,Liquibase使用'标签'和'上下文'来控制在不同的环境中应用哪些变更集。本博客文章介绍了他们的详细信息:

http://blog.liquibase.org/2014/11/contexts-vs-labels.html

Liquibase还支持能够以各种方式来设置更新日志属性 - 该文档的该页面显示的细节:

http://www.liquibase.org/documentation/changelog_parameters.html

以下是该文档的一部分:

Liquibase允许动态替换更新日志。 要替换的参数使用$ {}语法进行描述。

配置参数值

参数值按以下顺序抬头:

  • 作为参数传递到您的Liquibase亚军(见蚂蚁,COMMAND_LINE, 等文档如何通过它们)
  • 作为JVM系统属性
  • 在参数块(<属性>标记)DatabaseChangeLog文件 本身。
+0

啊太棒了!只是有一个快速的样子。我特意在替换代币之后,即为我的 – user2402135

+0

添加了有关属性替换功能的一些详细信息。 – SteveDonie

+0

对不起,我在上次评论中关闭了笔记本电脑的中间句子,并且发布了它。感谢您对原始帖子的更新。我打算补充说我正在使用sql格式的更新日志。我可能需要根据我的环境在我的sql格式的更改日志中“查找并替换”值。但是,我猜动态替换只支持基于XML的更新日志?我的理解是否正确?如果是这样,我怎样才能实现SQL格式化更新日志的动态替换?谢谢! – user2402135