/** * Retrieves the full set of infos about the migrations that failed. * * @return The failed migrations. An empty array if none. */ private List<MigrationInfo> failed(MigrationInfo[] migrationInfos) { if (migrationInfos.length == 0) throw new NotFoundException(); List<MigrationInfo> failedMigrations = Lists.newArrayList(); for (MigrationInfo migrationInfo : migrationInfos) { if (migrationInfo.getState().isFailed()) { failedMigrations.add(migrationInfo); } } return failedMigrations; }
/** * Retrieves the full set of infos about the migrations resolved on the classpath. * * @return The resolved migrations. An empty array if none. */ private List<MigrationInfo> resolved(MigrationInfo[] migrationInfos) { if (migrationInfos.length == 0) throw new NotFoundException(); List<MigrationInfo> resolvedMigrations = Lists.newArrayList(); for (MigrationInfo migrationInfo : migrationInfos) { if (migrationInfo.getState().isResolved()) { resolvedMigrations.add(migrationInfo); } } return resolvedMigrations; }
private void printFlywayInfo(MigrationInfo... infos){ MigrationInfo[] all = ArrayUtils.nullToEmpty(infos); if(all.length > 0){ for (MigrationInfo migrationInfo : all) { out.println("[Hibernate Service] Flyway Information:"); out.println("Version: " + migrationInfo.getVersion().toString()); out.println("Description: " + migrationInfo.getDescription()); out.println("Date: " + migrationInfo.getInstalledOn()); out.println("State: " + migrationInfo.getState().name()); out.println("Type: " + migrationInfo.getType().name()); out.println("[Hibernate Service] -------------------"); } } } }
@Override public Integer call() throws Exception { Flyway flyway = getFlyway(); MigrationInfoService migrationInfoService = flyway.info(); MigrationInfo[] migrationInfos = migrationInfoService.all(); if (migrationInfos != null) { for (MigrationInfo migrationInfo : migrationInfos) { System.out.println( "Flyway: " + migrationInfo.getVersion() + " | script: " + migrationInfo.getScript() + " | installed on: " + migrationInfo.getInstalledOn() + " | state: " + migrationInfo.getState().getDisplayName() ); } } return 0; } }