我有一个应用程序,可以访问多个模式并在模式之间复制/转换数据。对于每个模式,我都嵌套了liquibase变更日志,并使用Bootique允许变更日志从类路径导入其他变更日志。
oracle testcontainer没有API方法来定义多个模式。如何定义多个架构并将liquibase变更日志应用于每个架构?
当我尝试应用多个liquibase更新日志时,测试确实执行了它们,但偶然发现在更新日志中使用了重复的标识符:
@BQTestTool(BQTestScope.GLOBAL)
static final DbTester<TcDbTester> tester = TcDbTester
.db(oracleContainer, "USER", "USERPASS")
.initDBWithLiquibaseChangelog("classpath:changelogSchema1.yml")
.initDBWithLiquibaseChangelog("classpath:changelogSchema2.yml");
1条答案
按热度按时间wwtsj6pe1#
在OracleContainer中,可以使用构建器方法
withCopyFileToContainer
将init脚本作为SYSDBA运行。因此,当我使用该方法从 test/resources/sql/initAdditionalSchemas.sql 应用以下init脚本时:
则此测试成功: