Client and backend. Every class listed here is shared: the same code is compiled into your app and into your server.
package com.codename1.migration
Versioned database migrations, shared by applications and the Codename One backend.
A migration is a script named V<version>__<description>.sql, or a JavaMigration. Each
one runs exactly once per database, in version order, and is recorded with a checksum in a
history table, so a database can always be brought from whatever version it is at to the one
the running build expects. The file naming, the commands and the flyway_schema_history
table follow Flyway.
Start from the runtime’s Migrations class, which hands out a Migrator:
com.codename1.db.Migrations in an application and com.codename1.backend.Migrations on a
server. A MigrationSet groups the migrations that share one history table.
Types
interface JavaMigration | A migration written in Java, for a change SQL cannot express: recomputing a column, moving data between tables with logic in between. |
class MigrateResult | What one Migrator.migrate() call did. |
interface MigrationContext | What a JavaMigration may do to the database it is migrating. |
class MigrationException | A migration run that was refused or failed. |
class MigrationInfo | One row of Migrator.info(): a migration this build carries, one the database recorded, or both. |
class MigrationSet | A named group of migrations with its own history table. |
enum MigrationState | Where one migration stands, as reported by Migrator.info(). |
class Migrator | Runs one MigrationSet against one database. |