Package org.flywaydb.core.api.executor
Interface MigrationExecutor
public interface MigrationExecutor
Executes a migration.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanWhether the execution can take place inside a transaction.List<org.flywaydb.core.internal.jdbc.Results>Executes the migration this executor is associated with.booleanWhether the migration associated with this executor should be executed or not.default StringOptionally, an executor may provide an expression string describing the conditions under whichshouldExecutemay returntrue.
-
Method Details
-
execute
Executes the migration this executor is associated with.- Parameters:
context- The context to use to execute the migration against the DB.- Throws:
SQLException- when the execution of a statement failed.
-
canExecuteInTransaction
boolean canExecuteInTransaction()Whether the execution can take place inside a transaction. Almost all implementation should returntrue. 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.- Returns:
trueif a transaction should be used (highly recommended), orfalseif not.
-
shouldExecute
boolean shouldExecute()Whether the migration associated with this executor should be executed or not.- Returns:
trueif the migration should be executed, orfalseif not.
-
shouldExecuteExpression
Optionally, an executor may provide an expression string describing the conditions under whichshouldExecutemay returntrue. TheshouldExecutefunction itself is the source of truth for whether a script may execute, this function is provided for providing additional information rather than direct evaluation.- Returns:
- A string expression for the shouldExecute function, or
null
-