我有处理的情况,我按照建议的最佳做法构建了liquibase。我有更改日志xml结构如下所示
Master XML
-->Release XML
-->Feature XML
-->changelog XML
在我们的应用程序组中,我们运行updateSQL以生成整合的sql文件,并通过我们的DBA组获取更改。
然而,我遇到的真正问题是在每次迭代期间执行一组通用的sql语句。喜欢
ALTER SESSION SET CURRENT_SCHEMA=APPLNSCHEMA
因为DBA以SYSTEM身份执行更改,但目标架构是APPLNSCHEMA。
如何在Liquibase更改日志中包含此类常见重复语句。
答案 0 :(得分:1)
您可以编写一个扩展名(http://liquibase.org/extensions)来注入它。如果您需要按照changeLog执行此操作,最好将XMLChangeLogParser扩展为自动创建并添加一个新的changeSet来运行需要SQL。
答案 1 :(得分:1)
您可以使用属性“runAlways”设置为true来创建一个changeSet并包含SQL。
答案 2 :(得分:-1)
据我所知,Liquibase本身没有办法做到这一点。我建议你用你最喜欢的脚本语言包装Liquibase,这样就可以运行命令" generateSQLforThoseCrazyDBAs"运行Liquibase,然后将所需的SQL预先添加到Liquibase创建的输出中。