55 lines
1.9 KiB
TypeScript
55 lines
1.9 KiB
TypeScript
import { MigrationInterface, QueryRunner, TableColumn } from "typeorm";
|
|
import { templateUsage } from "../entity/configuration/templateUsage";
|
|
import { getTypeByORM, getDefaultByORM } from "./ormHelper";
|
|
|
|
export class TemplatesAndProtocolSort1742549956787 implements MigrationInterface {
|
|
name = "TemplatesAndProtocolSort1742549956787";
|
|
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.manager
|
|
.createQueryBuilder()
|
|
.insert()
|
|
.into(templateUsage)
|
|
.values([{ scope: "member" }])
|
|
.orUpdate(["headerId", "bodyId", "footerId", "headerHeight", "footerHeight"], ["scope"])
|
|
.execute();
|
|
|
|
await queryRunner.manager
|
|
.createQueryBuilder()
|
|
.delete()
|
|
.from(templateUsage)
|
|
.where({ scope: "member.list" })
|
|
.execute();
|
|
|
|
await queryRunner.addColumn(
|
|
"protocol_agenda",
|
|
new TableColumn({ name: "sort", ...getTypeByORM("int"), default: getDefaultByORM("number", 0) })
|
|
);
|
|
|
|
await queryRunner.addColumn(
|
|
"protocol_decision",
|
|
new TableColumn({ name: "sort", ...getTypeByORM("int"), default: getDefaultByORM("number", 0) })
|
|
);
|
|
|
|
await queryRunner.addColumn(
|
|
"protocol_voting",
|
|
new TableColumn({ name: "sort", ...getTypeByORM("int"), default: getDefaultByORM("number", 0) })
|
|
);
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.dropColumn("protocol_agenda", "sort");
|
|
await queryRunner.dropColumn("protocol_decision", "sort");
|
|
await queryRunner.dropColumn("protocol_voting", "sort");
|
|
|
|
await queryRunner.manager
|
|
.createQueryBuilder()
|
|
.insert()
|
|
.into(templateUsage)
|
|
.values([{ scope: "member.list" }])
|
|
.orUpdate(["headerId", "bodyId", "footerId", "headerHeight", "footerHeight"], ["scope"])
|
|
.execute();
|
|
|
|
await queryRunner.manager.createQueryBuilder().delete().from(templateUsage).where({ scope: "member" }).execute();
|
|
}
|
|
}
|