使用liquibase执行常见的sql文件

时间:2014-09-18 18:10:03

标签: sql oracle liquibase changelog

我有处理的情况,我按照建议的最佳做法构建了liquibase。我有更改日志xml结构如下所示

Master XML 
  -->Release XML 
     -->Feature XML 
        -->changelog XML

在我们的应用程序组中,我们运行updateSQL以生成整合的sql文件,并通过我们的DBA组获取更改。

然而,我遇到的真正问题是在每次迭代期间执行一组通用的sql语句。喜欢

ALTER SESSION SET CURRENT_SCHEMA=APPLNSCHEMA 

因为DBA以SYSTEM身份执行更改,但目标架构是APPLNSCHEMA。

如何在Liquibase更改日志中包含此类常见重复语句。

3 个答案:

答案 0 :(得分:1)

您可以编写一个扩展名(http://liquibase.org/extensions)来注入它。如果您需要按照changeLog执行此操作,最好将XMLChangeLogParser扩展为自动创建并添加一个新的changeSet来运行需要SQL。

答案 1 :(得分:1)

您可以使用属性“runAlways”设置为true来创建一个changeSet并包含SQL。

答案 2 :(得分:-1)

据我所知,Liquibase本身没有办法做到这一点。我建议你用你最喜欢的脚本语言包装Liquibase,这样就可以运行命令" generateSQLforThoseCrazyDBAs"运行Liquibase,然后将所需的SQL预先添加到Liquibase创建的输出中。