Client and backend. This class is shared: the same code is compiled into your app and into your server, so everything on this page works in both.
public static final class MigrationSet.Builder
- Object
- MigrationSet.Builder
Collects the migrations of a set.
Methods
Inherited methods
Method details
table
public MigrationSet.Builder table(String table)Names the history table.
Parameters
tableString- a plain identifier
Returns
this builder
sql
public MigrationSet.Builder sql(String version, String description, String script)Adds a versioned script that runs on every engine.
Parameters
versionString- the version, such as
3or2026.05.21.1 descriptionString- what it does
scriptString- one or more SQL statements
Returns
this builder
sql
public MigrationSet.Builder sql(String version, String description, String dialect, String script)Adds a versioned script for one engine. A version needs either one script for every
engine or one per engine the application runs on.
Parameters
versionString- the version
descriptionString- what it does
dialectStringsqlite,postgresqlormysql, or null for every enginescriptString- one or more SQL statements
Returns
this builder
repeatable
public MigrationSet.Builder repeatable(String description, String script)Adds a repeatable script: it runs after the versioned ones, and again whenever its
text changes. Views and seed data are the usual use.
Parameters
descriptionString- what it does; repeatable scripts run in description order
scriptString- one or more SQL statements
Returns
this builder
repeatable
public MigrationSet.Builder repeatable(String description, String dialect, String script)Adds a repeatable script for one engine.
Parameters
descriptionString- what it does
dialectStringsqlite,postgresqlormysql, or null for every enginescriptString- one or more SQL statements
Returns
this builder
java
public MigrationSet.Builder java(String version, String description, JavaMigration migration)Adds a migration written in Java.
Parameters
versionString- the version
descriptionString- what it does
migrationJavaMigration- the code to run
Returns
this builder
java
public MigrationSet.Builder java(String version, String description, String name, JavaMigration migration)Adds a migration written in Java and recorded under a name of its own.
The history records the class name of a Java migration as its script. A class that provides several versions would be recorded under one name for all of them, and a run that reports what it applied would print that name once per version. Give each version a name that says which it is.
The name is what a person reads in the history and in the output of a run. Nothing is compared against it: a history written under another name – the class name, before a set started naming its versions – still validates.
Parameters
versionString- the version
descriptionString- what it does
nameString- the name the history records as this migration’s script
migrationJavaMigration- the code to run
Returns
this builder
outsideTransaction
public MigrationSet.Builder outsideTransaction()Marks the migration added last as running outside a transaction. A script that must
manage its own, such as a SQLite table rebuild that switches foreign keys off, needs
this.
Returns
this builder
build
public MigrationSet build()Builds the set.
Returns
the set, ready to register or to hand to a migrator