import { MigrationInterface, QueryRunner } from "typeorm"; import { reset_table, invite_table, role_table, role_permission_table, user_table, user_roles_table, user_permission_table, refresh_table, webapi_table, webapi_permission_table, setting_table, } from "./baseSchemaTables/admin"; import { calendar_type_table, calendar_table } from "./baseSchemaTables/calendar"; import { salutation_table, award_table, communication_type_table, membership_status_table, executive_position_table, qualification_table, member_table, member_awards_table, member_communication_table, membership_table, member_executive_positions_table, member_qualifications_table, member_view, membership_view, member_qualifications_view, member_executive_positions_view, education_table, member_educations_table, membership_total_view, } from "./baseSchemaTables/member"; import { newsletter_config_table, newsletter_table, newsletter_dates_table, newsletter_recipients_table, } from "./baseSchemaTables/newsletter"; import { protocol_table, protocol_agenda_table, protocol_decision_table, protocol_presence_table, protocol_voting_table, protocol_printout_table, } from "./baseSchemaTables/protocol"; import { query_table, template_table, template_usage_table } from "./baseSchemaTables/query_template"; export class CreateSchema1749296280721 implements MigrationInterface { name = "CreateSchema1749296280721"; public async up(queryRunner: QueryRunner): Promise { await queryRunner.createTable(reset_table, true, true, true); await queryRunner.createTable(invite_table, true, true, true); await queryRunner.createTable(role_table, true, true, true); await queryRunner.createTable(role_permission_table, true, true, true); await queryRunner.createTable(user_table, true, true, true); await queryRunner.createTable(user_roles_table, true, true, true); await queryRunner.createTable(user_permission_table, true, true, true); await queryRunner.createTable(refresh_table, true, true, true); await queryRunner.createTable(webapi_table, true, true, true); await queryRunner.createTable(webapi_permission_table, true, true, true); await queryRunner.createTable(setting_table, true, true, true); await queryRunner.createTable(salutation_table, true, true, true); await queryRunner.createTable(award_table, true, true, true); await queryRunner.createTable(communication_type_table, true, true, true); await queryRunner.createTable(membership_status_table, true, true, true); await queryRunner.createTable(executive_position_table, true, true, true); await queryRunner.createTable(qualification_table, true, true, true); await queryRunner.createTable(education_table, true, true, true); await queryRunner.createTable(member_table, true, true, true); await queryRunner.createTable(member_awards_table, true, true, true); await queryRunner.createTable(member_communication_table, true, true, true); await queryRunner.createTable(membership_table, true, true, true); await queryRunner.createTable(member_executive_positions_table, true, true, true); await queryRunner.createTable(member_qualifications_table, true, true, true); await queryRunner.createTable(member_educations_table, true, true, true); await queryRunner.createView(member_view, true); await queryRunner.createView(membership_view, true); await queryRunner.createView(membership_total_view, true); await queryRunner.createView(member_qualifications_view, true); await queryRunner.createView(member_executive_positions_view, true); await queryRunner.createTable(query_table, true, true, true); await queryRunner.createTable(template_table, true, true, true); await queryRunner.createTable(template_usage_table, true, true, true); await queryRunner.manager .createQueryBuilder() .insert() .into(template_usage_table.name) .values([ { scope: "newsletter" }, { scope: "protocol" }, { scope: "member" }, { scope: "listprint" }, { scope: "listprint.member" }, ]) .orIgnore() .execute(); await queryRunner.createTable(protocol_table, true, true, true); await queryRunner.createTable(protocol_agenda_table, true, true, true); await queryRunner.createTable(protocol_decision_table, true, true, true); await queryRunner.createTable(protocol_presence_table, true, true, true); await queryRunner.createTable(protocol_voting_table, true, true, true); await queryRunner.createTable(protocol_printout_table, true, true, true); await queryRunner.createTable(calendar_type_table, true, true, true); await queryRunner.createTable(calendar_table, true, true, true); await queryRunner.createTable(newsletter_config_table, true, true, true); await queryRunner.createTable(newsletter_table, true, true, true); await queryRunner.createTable(newsletter_dates_table, true, true, true); await queryRunner.createTable(newsletter_recipients_table, true, true, true); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.dropTable(newsletter_dates_table, true, true, true); await queryRunner.dropTable(newsletter_recipients_table, true, true, true); await queryRunner.dropTable(newsletter_table, true, true, true); await queryRunner.dropTable(newsletter_config_table, true, true, true); await queryRunner.dropTable(calendar_table, true, true, true); await queryRunner.dropTable(calendar_type_table, true, true, true); await queryRunner.dropTable(protocol_agenda_table, true, true, true); await queryRunner.dropTable(protocol_decision_table, true, true, true); await queryRunner.dropTable(protocol_presence_table, true, true, true); await queryRunner.dropTable(protocol_voting_table, true, true, true); await queryRunner.dropTable(protocol_printout_table, true, true, true); await queryRunner.dropTable(protocol_table, true, true, true); await queryRunner.dropTable(template_usage_table, true, true, true); await queryRunner.dropTable(template_table, true, true, true); await queryRunner.dropTable(query_table, true, true, true); await queryRunner.dropView(member_view); await queryRunner.dropView(membership_view); await queryRunner.dropView(membership_total_view); await queryRunner.dropView(member_qualifications_view); await queryRunner.dropView(member_executive_positions_view); await queryRunner.dropTable(member_awards_table, true, true, true); await queryRunner.dropTable(member_communication_table, true, true, true); await queryRunner.dropTable(membership_table, true, true, true); await queryRunner.dropTable(member_executive_positions_table, true, true, true); await queryRunner.dropTable(member_qualifications_table, true, true, true); await queryRunner.dropTable(member_educations_table, true, true, true); await queryRunner.dropTable(member_table, true, true, true); await queryRunner.dropTable(salutation_table, true, true, true); await queryRunner.dropTable(award_table, true, true, true); await queryRunner.dropTable(communication_type_table, true, true, true); await queryRunner.dropTable(membership_status_table, true, true, true); await queryRunner.dropTable(executive_position_table, true, true, true); await queryRunner.dropTable(qualification_table, true, true, true); await queryRunner.dropTable(education_table, true, true, true); await queryRunner.dropTable(setting_table, true, true, true); await queryRunner.dropTable(webapi_permission_table, true, true, true); await queryRunner.dropTable(webapi_table, true, true, true); await queryRunner.dropTable(refresh_table, true, true, true); await queryRunner.dropTable(user_permission_table, true, true, true); await queryRunner.dropTable(user_roles_table, true, true, true); await queryRunner.dropTable(user_table, true, true, true); await queryRunner.dropTable(role_permission_table, true, true, true); await queryRunner.dropTable(role_table, true, true, true); await queryRunner.dropTable(invite_table, true, true, true); await queryRunner.dropTable(reset_table, true, true, true); } }