PluginMigrationInterface
Contract for one plugin schema migration (v2 — persistence-agnostic). Migration classes live in the plugin's Migrations/ directory, named Version_X_Y_Z.php, and are executed in semver order. A discovered file whose class does NOT conform to this contract is a loud error, never a silent skip.
PluginMigrationInterface::version()
abstract public function version(): stringThe semver this migration belongs to, e.g. "1.1.0".
PluginMigrationInterface::description()
abstract public function description(): stringHuman-readable summary of what the migration does.
PluginMigrationInterface::up()
abstract public function up(Milpa\Plugin\Contracts\MigrationContext $context): voidApply the migration (forward).
Parameters
| Name | Type | Description |
|---|---|---|
| $context | Milpa\Plugin\Contracts\MigrationContext |
PluginMigrationInterface::down()
abstract public function down(Milpa\Plugin\Contracts\MigrationContext $context): voidRevert the migration. Must undo exactly what up() did.
Parameters
| Name | Type | Description |
|---|---|---|
| $context | Milpa\Plugin\Contracts\MigrationContext |