指定在 Oracle 中执行 liquibase diff 的架构?
Specify schema for doing liquibase diff in Oracle?
我正在尝试使用 ant 脚本在 Oracle 中执行 liquibase 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 的表作为参考数据库?
我查看了 this page,但没有找到任何解决我问题的方法。
应该是referenceDefaultSchemaName参数(http://www.liquibase.org/documentation/maven/maven_diff.html), but according to https://liquibase.jira.com/browse/CORE-2364可能会有一些问题(我自己没试过)
我正在尝试使用 ant 脚本在 Oracle 中执行 liquibase 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 的表作为参考数据库?
我查看了 this page,但没有找到任何解决我问题的方法。
应该是referenceDefaultSchemaName参数(http://www.liquibase.org/documentation/maven/maven_diff.html), but according to https://liquibase.jira.com/browse/CORE-2364可能会有一些问题(我自己没试过)