Database Migrations in Flyway
June 21st, 2017
Database migration in the Java-world with Flyway
I looked at the release notes for Spring Boot 2.0.0.M1 not expecting a lot of exciting changes but was surprised by some compelling things. There is the usual “deprecated classes are removed” and “Dependency X is upgraded” but there are some more exciting changes.
I think we can all agree that this is a good thing and a long time coming.
I was happy to see Spring Boot 2 changing the connection pooling library to HikariCP. I’ve used HikariCP in past projects and its great for high-performance services. As it’s documentation states “There are a lot of knobs to tweak” so I assume that they will be exposed in application.properties
. Luckily HikariCP works well out-of-the-box with no tweaks.
I always felt that Gradle has been a second-class citizen in the Spring Boot world but they are making strides to change that in Spring Boot 2. You can see a list of their closed issues. Things I really liked seeing:
bootJar
and bootWar
now extend the jar
and war
tasks. This fits better into Gradle’s model and makes it a better Gradle citizen. See the Github issue for some interesting reading.gradle tasks
. This sounds like a simple thing, but I think it’s a good change, especially for people just coming to Spring Boot.Spring Boot 2 is only on Milestone 2 with a full release scheduled in November, so we still have a long ways to go but I like the changes I see so far!
Database migration in the Java-world with Flyway
MariaDB4j is an embedded Java wrapper for spinning up a MariaDB instance for local development or continuous integration testing purposes.
How to inject Spock mocks into the Spring Context during integration tests.
Mike has almost 20 years of experience in technology. He started in networking and Unix administration, and grew into technical support and QA testing. But he has always done some development on the side and decided a few years ago to pursue it full-time. His history of working with users gives Mike a unique perspective on writing software.