我刚刚发现Liquibase,我正在努力尝试自动化我的Oracle数据库版本。
我正在尝试了解更多关于如何使用执行令牌替换我的SQL脚本的信息,这些脚本可能因我运行Liquibase的环境而异。
具体来说,Liquibase是否支持基于环境的SQL脚本的概念?即,我可能有一些自定义SQL脚本,这些脚本在测试,回归和实时方面可能略有不同。因此,在将我的Liquibase版本执行到回归时,只会执行那些回归特定的更改集,可能使用回归参数。
提前致谢!
答案 0 :(得分:0)
是的,Liquibase使用'标签'和'上下文'来控制在不同环境中应用哪些变更集。这篇博文更详细地描述了它们:
http://blog.liquibase.org/2014/11/contexts-vs-labels.html
Liquibase还支持更改日志中可以通过各种方式设置的属性 - 文档的这一页显示了详细信息:
http://www.liquibase.org/documentation/changelog_parameters.html
以下是该文档的摘录:
Liquibase允许在更改日志中动态替换参数。 要替换的参数使用$ {}语法描述。
配置参数值
按以下顺序查找参数值:
- 作为参数传递给您的Liquibase运行器(请参阅Ant,command_line, 关于如何传递它们的文件)
- 作为JVM系统属性
- 在DatabaseChangeLog文件的参数块(< property> Tag)中 本身。