我有一个数据库用户,可以访问2个模式,oldb和newDb,我想从oldDb.users
表中选择所有内容,并使用Liquibase将它们插入newDb.users
。
我希望能够不硬编码模式名称,因为我想在本地和不同的测试环境中测试代码,然后在实际数据上运行它,而在测试环境中模式的名称是不同的。有办法做到这一点吗?
一个高层次的方法可能是运行
liquibase generateChangeLog
against oldDB拉出表。然后对旧的数据库进行全局替换。使用新的模式名newDB。第二种选择是对旧数据库进行全局替换。使用${replaceSchema}然后在你的变更日志中添加一个名为replaceSchema的属性,或者在运行时提供该参数。
更多细节在这里https://docs.liquibase.com/concepts/changelogs/property-substitution.html