Lesson 19 / 33

Migrations

Version your database schema with TypeORM migrations.

Generate & run migrations

TypeORM CLI generates migrations based on entity changes; run them to update the database.

npx typeorm migration:generate ./src/migrations/CreateUserTable
npx typeorm migration:run

Manual migration

Write custom SQL migration for complex schema changes.

import { MigrationInterface, QueryRunner } from 'typeorm';

export class CreateUserTable123456 implements MigrationInterface {
  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query('CREATE TABLE user (id SERIAL PRIMARY KEY, name VARCHAR NOT NULL)');
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query('DROP TABLE user');
  }
}