import { MigrationInterface, QueryRunner, TableColumn } from "typeorm"; import { education_table, member_educations_table, member_view_mysql, member_view_postgres, member_view_sqlite, } from "./baseSchemaTables/member"; import { getDefaultByORM, getTypeByORM } from "./ormHelper"; import { DB_TYPE } from "../env.defaults"; export class MemberExtendData1748953828644 implements MigrationInterface { name = "MemberExtendData1748953828644"; public async up(queryRunner: QueryRunner): Promise { await queryRunner.createTable(education_table, true, true, true); await queryRunner.createTable(member_educations_table, true, true, true); await queryRunner.addColumn( "member", new TableColumn({ name: "note", ...getTypeByORM("varchar", true), default: getDefaultByORM("null") }) ); await queryRunner.dropView("member_view"); if (DB_TYPE == "postgres") await queryRunner.createView(member_view_postgres, true); else if (DB_TYPE == "mysql") await queryRunner.createView(member_view_mysql, true); else if (DB_TYPE == "sqlite") await queryRunner.createView(member_view_sqlite, true); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.dropTable(member_educations_table, true, true, true); await queryRunner.dropTable(education_table, true, true, true); await queryRunner.dropColumn("member", "note"); } }