Reputation: 2605
Is there a way to tell flyway to migrate only to specific version? For e.g. I have 4 versions e.g. V1
, V2
, V3
and V4
scripts and I want to migrate only to V3
but not to v4.
Upvotes: 19
Views: 23003
Reputation: 1029
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
Upvotes: 12
Reputation: 2071
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
}
Upvotes: 3
Reputation: 1728
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
Upvotes: 10