Class MigrationSet.Builder

java.lang.Object
com.codename1.migration.MigrationSet.Builder
Enclosing class:
MigrationSet

public static final class MigrationSet.Builder extends Object
Collects the migrations of a set.
  • Method Details

    • table

      public MigrationSet.Builder table(String table)
      Names the history table.
      Parameters:
      table - 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:
      version - the version, such as 3 or 2026.05.21.1
      description - what it does
      script - 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:
      version - the version
      description - what it does
      dialect - sqlite, postgresql or mysql, or null for every engine
      script - 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:
      description - what it does; repeatable scripts run in description order
      script - 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:
      description - what it does
      dialect - sqlite, postgresql or mysql, or null for every engine
      script - 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:
      version - the version
      description - what it does
      migration - 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:
      version - the version
      description - what it does
      name - the name the history records as this migration's script
      migration - 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