Skip to main content
zerotal

Documentation


Documentation / @zerotal/orm / index / Migration

Abstract Class: Migration

Defined in: packages/orm/src/schema/Migration.ts:29

Base class for all database migrations.

A migration bundles a forward change (Migration.up) with the change that undoes it (Migration.down). MigrationRunner loads migration files, runs each pending up() inside its own transaction, and calls down() on rollback. Each migration file should export a default class extending Migration.

Example

import { Migration, Schema } from '@zerotal/orm';

export default class CreateUsersTable extends Migration {
  async up(): Promise<void> {
    await Schema.create('users', (table) => {
      table.increments('id');
      table.string('name');
      table.string('email').unique();
      table.timestamps();
    });
  }

  async down(): Promise<void> {
    await Schema.drop('users');
  }
}

Constructors

Constructor

new Migration(): Migration

Returns

Migration

Methods

up()

abstract up(): Promise<void>

Defined in: packages/orm/src/schema/Migration.ts:31

Apply the migration's forward schema change.

Returns

Promise<void>


down()

abstract down(): Promise<void>

Defined in: packages/orm/src/schema/Migration.ts:33

Reverse everything Migration.up did, for rollback.

Returns

Promise<void>