Flyway - Migrate to specific version

If you would like to test you migrations, you can use Java API:

@Test
public void test() {
    final FluentConfiguration fluentConfiguration = Flyway.configure()
            .dataSource(dataSource);
    fluentConfiguration.target("3") // stable version
            .load()
            .migrate();
    // ... your SQL injection queries 
    fluentConfiguration
            .target("latest") // remaining versions you need to test
            .load()
            .migrate();
    // ... your SQL select checks
}

In case you use flyway command line and you want to migrate only to V3 you should do something like this:

flyway -configFiles=myconf.conf -target=3 migrate

The migrate Task has a "target" attribute which lets you specify that.

target - The target version up to which Flyway should consider migrations. Migrations with a higher version number will be ignored. The special value current designates the current version of the schema.

Doc for CommandLine: https://flywaydb.org/documentation/usage/commandline/migrate

Example for maven

mvn -Dflyway.target=5.1 flyway:migrate