gpt4 book ai didi

java - 在java中运行动态生成的flyway脚本

转载 作者:行者123 更新时间:2023-12-02 02:44:46 24 4
gpt4 key购买 nike

我想运行一些 Flyway 脚本来设置我的数据库以进行集成测试。

我在 src/test/resources/db/migration 处有一个 Flyway 脚本 V1-XXX,加载应用程序上下文后,我正在同一位置复制另一个文件 V2-XXXX。然后我使用以下代码来迁移这两个脚本。仅迁移第一个脚本。有人可以告诉我如何成功迁移这两个脚本吗?

Flyway flyway = Flyway.configure()
.dataSource("jdbcUrl",
"username",
"password").load();
flyway.migrate();

我正在使用的flyway版本:

compile "org.flywaydb:flyway-core:5.2.4"

我添加了以下代码来获取待处理的迁移信息:

    flyway.setLocations("filesystem:src/test/resources/db/migration");
MigrationInfoService migrationInfoService = flyway.info();
MigrationInfo[] migrationInfos = migrationInfoService.pending();
flyway.migrate();

我看到以下日志:

2019-07-22 16:07:27.046  INFO 46406 --- [           main] o.f.core.internal.command.DbValidate     : Successfully validated 2 migrations (execution time 00:00.022s)
2019-07-22 16:07:27.057 INFO 46406 --- [ main] o.f.c.i.s.JdbcTableSchemaHistory : Creating Schema History table: "public"."flyway_schema_history"
2019-07-22 16:07:27.074 INFO 46406 --- [ main] o.f.core.internal.command.DbMigrate : Current version of schema "public": << Empty Schema >>
2019-07-22 16:07:27.075 INFO 46406 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema "public" to version 1.1 - create-pgcrypto
2019-07-22 16:07:27.089 INFO 46406 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema "public" to version 20190712113815 - creating-initial-tables
2019-07-22 16:07:27.138 INFO 46406 --- [ main] o.f.core.internal.command.DbMigrate : Successfully applied 2 migrations to schema "public" (execution time 00:00.082s)
2019-07-22 16:07:28.603 INFO 46406 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.

2019-07-22 16:07:28.625 INFO 46406 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 1 migration (execution time 00:00.003s)
2019-07-22 16:07:28.632 INFO 46406 --- [ main] o.f.c.i.s.JdbcTableSchemaHistory : Creating Schema History table: "public"."flyway_schema_history"
2019-07-22 16:07:28.643 INFO 46406 --- [ main] o.f.core.internal.command.DbMigrate : Current version of schema "public": << Empty Schema >>
2019-07-22 16:07:28.643 INFO 46406 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema "public" to version 1.1 - create-pgcrypto
2019-07-22 16:07:28.656 INFO 46406 --- [ main] o.f.core.internal.command.DbMigrate : Successfully applied 1 migration to schema "public" (execution time 00:00.024s)

flyway 似乎正在检测 2 个脚本,但仅迁移 1 个脚本。

最佳答案

您可以使用Flyway的设置位置方法这里:

flyway.setLocations("filesystem:src/test/resources/db/migration");

关于java - 在java中运行动态生成的flyway脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57153667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com