指定在Oracle中执行liquibase diff的模式



我正在尝试使用ant脚本在Oracle中做一个liquibase diff。

下面是前置diff

的代码片段
<target name="diff-database">
    <diffDatabaseToChangeLog
        driver=${db.driver}"
        url="${db.url}"
        username="${db.username}"
        password="${db.password}"
        referenceUrl="jdbc:oracle:thin@hostname:port:sid"
        referenceUsername="user1"
        referencePassword="password1"
        outputFile="changelog.xml"
        classpathref="tools.class.path"
    </diffDatabaseToChangeLog>
</target>

问题就在这里。

  • 我需要比较的两个数据库都是Oracle。
  • 对于referenceDB,我需要访问特定用户下的表,称其为user2,但是user2的登录在我需要从服务器上运行的服务器上是禁用的。
  • 幸运的是,我可以在另一个用户下访问referenceDB,称其为user1,并且该用户具有"SELECT ANY TABLE"的特权。所以我应该能够用user1访问user2的表。

那么给定所有这些信息,我如何指定我想使用user2的表作为引用DB呢?

我已经看了这一页,但还没有找到任何可以解决我的问题的

应该是referenceDefaultSchemaName参数(http://www.liquibase.org/documentation/maven/maven_diff.html),但根据https://liquibase.jira.com/browse/CORE-2364可能会有一些问题(我自己没有triedit)。

相关内容

  • 没有找到相关文章

最新更新