import { MigrationInterface, QueryRunner, Table, TableForeignKey } from 'typeorm'; export class CreateUsers1700000000000 implements MigrationInterface { name = 'CreateUsers1700000000000'; async up(queryRunner: QueryRunner): Promise { await queryRunner.createTable(new Table({ name: 'users', columns: [ { name: 'id', type: 'int', isPrimary: true, isGenerated: true, generationStrategy: 'increment' }, { name: 'name', type: 'varchar', length: '255' }, { name: 'email', type: 'varchar', length: '255', isUnique: true }, { name: 'password', type: 'varchar', length: '255' }, { name: 'role_id', type: 'int' }, { name: 'current_refresh_token', type: 'varchar', length: '500', isNullable: true }, { name: 'tenant_id', type: 'varchar', length: '255', isNullable: true }, { name: 'is_active', type: 'boolean', default: "'1'" }, { name: 'created_at', type: 'datetime', default: 'CURRENT_TIMESTAMP' }, { name: 'updated_at', type: 'datetime', default: 'CURRENT_TIMESTAMP', onUpdate: 'CURRENT_TIMESTAMP' } ] }), true); await queryRunner.createForeignKey('users', new TableForeignKey({ name: 'FK_users_role_id', columnNames: ['role_id'], referencedColumnNames: ['id'], referencedTableName: 'roles', onDelete: 'RESTRICT' })); } async down(queryRunner: QueryRunner): Promise { await queryRunner.dropForeignKey('users', 'FK_users_role_id'); await queryRunner.dropTable('users', true); } }