DataBridgeMigrationManager

Controls versioned schema changes per app/module.


Installation


loadfunction("DataBridgeMigrationManager");

Lifecycle

  • App install → run migrations
  • App upgrade → run new migrations
  • App uninstall → optional rollback

Examples

Apply Migration


$migrate = new DataBridgeMigrationManager("IntraHub");

$migrate->up("001_add_priority", function () {
  $schema = new DataBridgeSchema("tickets");
  $schema->addColumn("priority", "INT");
});

Rollback Migration


$migrate->rollback("001_add_priority", function () {
  $schema = new DataBridgeSchema("tickets");
  $schema->dropColumn("priority");
});

Status


$migrate->hasRun("001_add_priority");
$migrate->appliedVersions();

API Reference

MethodDescription
up()Apply migration
rollback()Rollback migration
hasRun()Check version
appliedVersions()List versions

Best Practices

  • Always version migrations
  • One concern per migration

Anti-Patterns

  • Manual DB edits
  • Reusing migration versions