【问题标题】:executing a common sql file using liquibase使用 liquibase 执行一个普通的 sql 文件
【发布时间】:2016-01-22 20:48:49
【问题描述】:

我有一种情况要处理,我的 liquibase 是按照推荐的最佳实践构建的。我的更改日志 xml 的结构如下所示

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

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

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

ALTER SESSION SET CURRENT_SCHEMA=APPLNSCHEMA 

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

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

【问题讨论】:

    标签: sql oracle liquibase changelog


    【解决方案1】:

    您将能够编写一个扩展 (http://liquibase.org/extensions) 将其注入。如果您需要按 changeLog 执行此操作,最好扩展 XMLChangeLogParser 以自动创建和添加运行所需 SQL 的新 changeSet .

    【讨论】:

      【解决方案2】:

      您可以将属性“runAlways”设置为 true 并包含 SQL。

      【讨论】:

        【解决方案3】:

        据我所知,没有办法让 Liquibase 自己做到这一点。我建议你用你最喜欢的脚本语言来包装 Liquibase,这样你就可以运行一个命令“generateSQLforThoseCrazyDBA”来运行 Liquibase,然后在 Liquibase 创建的输出中添加你需要的 SQL。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-09-28
          • 2021-10-28
          • 2021-12-21
          • 1970-01-01
          • 2016-12-12
          • 2014-04-23
          • 2018-08-25
          相关资源
          最近更新 更多