- All Implemented Interfaces:
public abstract class BaseJavaMigration extends java.lang.Object implements JavaMigration
This is the recommended class to extend for implementing Java-based Migrations.
Subclasses should follow the default Flyway naming convention of having a class name with the following structure:
- Versioned Migrations: V2__Add_new_table
- Undo Migrations: U2__Add_new_table
- Repeatable Migrations: R__Add_new_table
- Baseline Migrations: B2__Add_new_table
The file name consists of the following parts:
- Prefix: V for versioned migrations, U for undo migrations, R for repeatable migrations, B for baseline migrations
- Version: Underscores (automatically replaced by dots at runtime) separate as many parts as you like (Not for repeatable migrations)
- Separator: __ (two underscores)
- Description: Underscores (automatically replaced by spaces at runtime) separate the words
If you need more control over the class name, you can override the default convention by implementing the JavaMigration interface directly. This will allow you to name your class as you wish. Version, description and migration category are provided by implementing the respective methods.
Constructors Constructor Description
BaseJavaMigration()Creates a new instance of a Java-based migration following Flyway's default naming convention.
All Methods Instance Methods Concrete Methods Modifier and Type Method Description
canExecuteInTransaction()Whether the execution should take place inside a transaction.
isBaselineMigration()Whether this is a baseline migration.
isUndo()Whether this is an undo migration for a previously applied versioned migration.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public MigrationVersion getVersion()
public java.lang.String getDescription()
public java.lang.Integer getChecksum()
public boolean isUndo()Whether this is an undo migration for a previously applied versioned migration.
public boolean isBaselineMigration()Whether this is a baseline migration.
public boolean canExecuteInTransaction()Whether the execution should take place inside a transaction. Almost all implementations should return
true. This however makes it possible to execute certain migrations outside a transaction. This is useful for databases like PostgreSQL and SQL Server where certain statement can only execute outside a transaction.