# Migrations — नेस्टजेएस

Source: https://www.geekswithgeeks.com/hi/nestjs/nestjs-migrations

> TypeORM migrations के साथ अपने database schema को version करें।

## Migrations generate और run करें

TypeORM CLI entity changes के आधार पर migrations generate करता है; database को update करने के लिए run करें।

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

## Manual migration

Complex schema changes के लिए custom SQL migration लिखें।

```typescript
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');
  }
}
```
