当前,当您尝试在现有数据库上生成更改日志时,Liquibase 有一些限制。它不导出以下类型的对象:
- 存储过程、函数、包
- 触发器
- 类型
参考:http ://www.liquibase.org/documentation/generating_changelogs.html
据我了解,我需要开发自己的liquibase.snapshot.SnapshotGenerator
实现。我知道如何从 Oracle 获取这些类型的对象,但我对如何从 Liquibase 实现此类接口有点迷茫。
理想情况下,我猜liquibase.database.Database
应该扩展接口以添加以下额外方法:
public abstract boolean supportsPackages();
public abstract boolean supportsFunctions();
public abstract boolean supportsStoredProcedures();
public abstract boolean supportsTriggers();
public abstract boolean supportsTypes();