Библиотека Flyway действительно хороша для этого:
Flyway flyway = new Flyway();
flyway.setDataSource(dbConfig.getUrl(), dbConfig.getUsername(), dbConfig.getPassword());
flyway.setLocations("classpath:db/scripts");
flyway.clean();
flyway.migrate();
Это сканирует места для скриптов и запускает их по порядку.Версии сценариев можно указывать с помощью V01__name.sql, поэтому, если вызывается только миграция, будут выполняться только те, которые еще не запущены.Использует таблицу с именем schema_version для отслеживания вещей.Но можно сделать и другие вещи, см. Документы: flyway .
Чистый вызов не требуется, но полезен для запуска из чистой БД.Кроме того, помните о расположении (по умолчанию «classpath: db /igration»), после ':' нет пробела, который меня поймал.