Refactor Flyway for testing
Currently, the initialization of flyway with testcontainers in the test context is extremely hacky and cannot be configured via the application.yml values. This is considered tech dept, and warrants a cleanup. Also, the version of flyway is old, this should also be updated.
Also, the java based migrations extend SpringJdbcMigration which is now DEPRECATED. The issue with upgrading our migrations, is that it may change the checksum. Before updating the java migrations with whatever replaces the deprecated SpringJdbcMigration, we need to make sure the checksums are not different. If the checksums change, then we need to see if there is planned removal of SpringJdbcMigration in future versions. If it is, then to prevent being locked to a certain flyway version, we will need to handle this case.
Exit criteria:
- All tests passing with this file removed: https://github.com/overture-stack/ego/blob/develop/src/test/java/bio/overture/ego/test/FlywayInit.java
The following ticket describes the deprecation of SpringJdbcMigration https://github.com/flyway/flyway/issues/2218
this means, we need to change the java migrations