我正在尝试使用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)。