I have a legacy app that uses MySQL 5.7.42, which is coming to its EOL, and I need to upgrade it to MySQL 8.0.3. The app uses Dropwizard-core, Dropwizard-hibernate, and Dropwizard-migrations of version 1.3.24 and Java 8.
I am having issues when the build is running migrations.
liquibase.executor.jvm.JdbcExecutor: SELECT * FROM db.DATABASECHANGELOG ORDER BY DATEEXECUTED ASC, ORDEREXECUTED ASC
java.lang.ClassCastException: java.time.LocalDateTime cannot be cast to java.lang.String
at liquibase.changelog.StandardChangeLogHistoryService.getRanChangeSets(StandardChangeLogHistoryService.java:324)
at liquibase.changelog.AbstractChangeLogHistoryService.upgradeChecksums(AbstractChangeLogHistoryService.java:66)
at liquibase.changelog.StandardChangeLogHistoryService.upgradeChecksums(StandardChangeLogHistoryService.java:293)
at liquibase.Liquibase.checkLiquibaseTables(Liquibase.java:1221)
So far, I have tried upgrading the Dropwizard-* to 2.1.12, as Dropwizard no longer supports Java 8 beyond that version. Dropwizard Release Notes
I have also tried to explicitly upgrade liquibase-core version to org.liquibase:liquibase-core:4.4.3. I see a new exception after the upgrade.
java.lang.NoSuchMethodError: liquibase.resource.FileSystemResourceAccessor: method <init>()V not found
at io.dropwizard.migrations.CloseableLiquibaseWithFileSystemMigrationsFile.<init>(CloseableLiquibaseWithFileSystemMigrationsFile.java:19)
at io.dropwizard.migrations.AbstractLiquibaseCommand.openLiquibase(AbstractLiquibaseCommand.java:84)
at io.dropwizard.migrations.AbstractLiquibaseCommand.run(AbstractLiquibaseCommand.java:67)
at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:87)
at io.dropwizard.cli.Cli.run(Cli.java:78)
at io.dropwizard.Application.run(Application.java:93)
I am not sure how to fix this issue. Help needed.