代码到达“填充要执行的迁移”日志。然而,没有任何 AAA、EEE 和 CCC 日志被访问,因此 doOnSuccess 中没有代码正在运行。任何有关如何解决此问题的帮助将不胜感激。
databaseClient.execute().sql("CREATE TABLE IF NOT EXISTS " + TRACKING_TABLE +" ("+PROPERTY_SERVICE+ " varchar(255) NOT NULL, " + PROPERTY_VERSION+" float(4) NOT NULL, " +PROPERTY_SCRIPT+" varchar(255) NOT NULL);")
.then()
.concatWith(databaseClient.execute().sql("CREATE TABLE IF NOT EXISTS " + TRACKING_SEAL_TABLE+" ("+PROPERTY_SERVICE+ " varchar(255) NOT NULL, "+ PROPERTY_VERSION+" float(4) NOT NULL);")
.then())
.doOnComplete(() -> {
log.info("Populating migrations to be executed");// reaches here
databaseClient.select().from(TRACKING_SEAL_TABLE).as(MigrationSealDetails.class).fetch().all() .collectList()
.map()//mapping function
.doOnError(e -> log.log(Level.SEVERE, "EEE", e))
.doOnSuccess(highestSealPerService -> {
log.info("AAA");
databaseClient.select().from(TRACKING_TABLE).as(MigrationDetails.class).fetch().all()
.collectList()
.doOnSuccess(migrationsExecuted -> {
// other code
}).block();
}).block();
}).blockLast();
log.info("CCC");