2025-01-05 16:09:39 +01:00
|
|
|
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<void> {
|
2025-01-25 11:39:34 +01:00
|
|
|
// 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
|
|
|
|
// );
|
2025-01-05 16:09:39 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
2025-01-25 11:39:34 +01:00
|
|
|
// 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
|
|
|
|
// );
|
2025-01-05 16:09:39 +01:00
|
|
|
}
|
|
|
|
}
|