import { DataSource, MigrationInterface, QueryRunner, View } from "typeorm"; import { member } from "../entity/club/member/member"; import { memberExecutivePositions } from "../entity/club/member/memberExecutivePositions"; import { memberQualifications } from "../entity/club/member/memberQualifications"; import { membership } from "../entity/club/member/membership"; export class ExtendViewValues1736084198860 implements MigrationInterface { name = "ExtendViewValues1736084198860"; public async up(queryRunner: QueryRunner): Promise { // await queryRunner.dropView("membership_view"); // await queryRunner.dropView("member_view"); // await queryRunner.createView( // new View({ // name: "member_view", // expression: (datasource: DataSource) => // datasource // .getRepository(member) // .createQueryBuilder("member") // .select("member.id", "id") // .addSelect("member.salutation", "salutation") // .addSelect("member.firstname", "firstname") // .addSelect("member.lastname", "lastname") // .addSelect("member.nameaffix", "nameaffix") // .addSelect("member.birthdate", "birthdate") // .addSelect("TIMESTAMPDIFF(YEAR, member.birthdate, CURDATE())", "todayAge") // .addSelect("YEAR(CURDATE()) - YEAR(member.birthdate)", "ageThisYear") // .addSelect("CONCAT('_', FROM_DAYS(TIMESTAMPDIFF(DAY, member.birthdate, CURDATE())))", "exactAge"), // }), // true // ); // await queryRunner.createView( // new View({ // name: "membership_view", // expression: (datasource: DataSource) => // datasource // .getRepository(membership) // .createQueryBuilder("membership") // .select("status.id", "statusId") // .addSelect("status.status", "status") // .addSelect("member.id", "memberId") // .addSelect("member.salutation", "memberSalutation") // .addSelect("member.firstname", "memberFirstname") // .addSelect("member.lastname", "memberLastname") // .addSelect("member.nameaffix", "memberNameaffix") // .addSelect("member.birthdate", "memberBirthdate") // .addSelect( // "SUM(TIMESTAMPDIFF(DAY, membership.start, COALESCE(membership.end, CURRENT_DATE)))", // "durationInDays" // ) // .addSelect( // "CONCAT('_', FROM_DAYS(SUM(TIMESTAMPDIFF(DAY, membership.start, COALESCE(membership.end, CURRENT_DATE)))))", // "durationInYears" // ) // .leftJoin("membership.status", "status") // .leftJoin("membership.member", "member") // .groupBy("status.id") // .addGroupBy("member.id"), // }), // true // ); } public async down(queryRunner: QueryRunner): Promise { // await queryRunner.dropView("membership_view"); // await queryRunner.dropView("member_view"); // await queryRunner.createView( // new View({ // name: "member_view", // expression: (datasource: DataSource) => // datasource // .getRepository(member) // .createQueryBuilder("member") // .select("member.id", "id") // .addSelect("member.salutation", "salutation") // .addSelect("member.firstname", "firstname") // .addSelect("member.lastname", "lastname") // .addSelect("member.nameaffix", "nameaffix") // .addSelect("member.birthdate", "birthdate") // .addSelect("TIMESTAMPDIFF(YEAR, member.birthdate, CURDATE())", "todayAge") // .addSelect("YEAR(CURDATE()) - YEAR(member.birthdate)", "ageThisYear"), // }), // true // ); // await queryRunner.createView( // new View({ // name: "membership_view", // expression: (datasource: DataSource) => // datasource // .getRepository(membership) // .createQueryBuilder("membership") // .select("status.id", "statusId") // .addSelect("status.status", "status") // .addSelect("member.id", "memberId") // .addSelect("member.salutation", "memberSalutation") // .addSelect("member.firstname", "memberFirstname") // .addSelect("member.lastname", "memberLastname") // .addSelect("member.nameaffix", "memberNameaffix") // .addSelect("member.birthdate", "memberBirthdate") // .addSelect( // "SUM(TIMESTAMPDIFF(DAY, membership.start, COALESCE(membership.end, CURRENT_DATE)))", // "durationInDays" // ) // .leftJoin("membership.status", "status") // .leftJoin("membership.member", "member") // .groupBy("status.id"), // }), // true // ); } }