https://typeorm.io/#/entities/column-options
import {
MigrationInterface,
QueryRunner,
Table,
} from 'typeorm';
import { SystemUserRole } from 'src/utils/enum';
export class CreateSystemUsersTable1580959467728 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.createTable(new Table({
name: 'SystemUsers',
columns: [
{
name: 'id',
type: 'int',
isGenerated: true,
isPrimary: true,
},
{
name: 'username',
type: 'varchar',
isNullable: false,
},
{
name: 'roles',
type: 'enum',
enum: [SystemUserRole.ADMIN, SystemUserRole.BOSS, SystemUserRole.STAFF],
},
{
name: 'createdAt',
type: 'timestamp',
isNullable: false,
default: 'now()',
},
{
name: 'updatedAt',
type: 'timestamp',
isNullable: false,
default: 'now()',
},
],
}));
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.dropTable('SystemUsers');
}
}