目前,我是在一个甲骨文模式,这是维护与清算基础。液化库xml有一些特定于oracle的数据查询和使用序列查询的用法(也有一些特定于oracle的用法)。
我想搬到postgres去。generateChangeLog是否可以从oracle中对postgres (或完全特定于清算基础的变更量,以便在运行时自动将其转换为目标数据库)执行它?我看不到在generatechangelog上指定目标数据库类型的选项。有什么办法做到这一点吗?
发布于 2019-03-08 19:32:50
是的,这是可能的,尽管当您在启动变更时考虑多个DBMS时会更容易。
<createSequence>更改应该是可以的,但是,如果您有任何对.nextval的显式调用,则需要对这些调用进行更改。
可以根据当前DBMS有条件地运行changeSets:
<changeSet dbms="postgresql">
...
</changeSet>或者使用dbms="oracle"。我认为(虽然不确定) DBMS属性不会更改MD5校验和,因此您可以更改现有的更改日志,而不会破坏现有的安装。
您需要调整当前变更量的多少取决于您在指定数据类型时的具体程度,例如,由于明显的原因您不能使用varchar2,而更改将更改MD5校验和,这将破坏对现有安装运行变更日志的操作。
我会尝试改变变更模式,您必须尽可能地独立于DBMS,然后使用clearCheckSums对现有安装运行一次。
https://stackoverflow.com/questions/55068901
复制相似问题