1

我们是 liquibase 和 gradle 插件的新手,我们想创建多个模式

能够创建这个脚本,但它只创建最后一个模式'temp5'而不是列表中的其他模式,可能是我们缺少关于 liquibase 如何执行变更集的知识,这里是 gradle 脚本

liquibase {
activities {
    main {
        List<String> list = new ArrayList<String>();
        list.add("temp3");
        list.add("temp4");
        list.add("temp5");
        for (String item : list) {
            System.out.println(item)
            changeLogFile 'src/main/db/changelog3.xml'
            url 'jdbc:postgresql://localhost:5432/test'
            changeLogParameters([schemaName: item, idValue: list.indexOf(item)])
        }    
    }
}
runList = 'main'

}

这是changelog3.xml

<changeSet author='test' id='${idValue}' runOnChange="true">
<sql splitStatements="false">
    CREATE SCHEMA ${schemaName};
</sql>
</changeSet>

这成功执行但只创建模式“temp5”而不是 temp3 和 temp4

在此处输入图像描述

如果社区可以请我们指出正确的方向来创建列表中的所有模式,那将是非常有帮助的

4

0 回答 0