177 lines
8.6 KiB
TypeScript
177 lines
8.6 KiB
TypeScript
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
import {
|
|
invite_table,
|
|
refresh_table,
|
|
reset_table,
|
|
role_permission_table,
|
|
role_table,
|
|
user_permission_table,
|
|
user_roles_table,
|
|
user_table,
|
|
webapi_permission_table,
|
|
webapi_table,
|
|
} from "./baseSchemaTables/admin";
|
|
import { templateUsage } from "../entity/configuration/templateUsage";
|
|
import {
|
|
award_table,
|
|
communication_type_table,
|
|
executive_position_table,
|
|
member_awards_table,
|
|
member_communication_table,
|
|
member_executive_positions_table,
|
|
member_executive_positions_view_mysql,
|
|
member_executive_positions_view_postgres,
|
|
member_executive_positions_view_sqlite,
|
|
member_qualifications_table,
|
|
member_qualifications_view_mysql,
|
|
member_qualifications_view_postgres,
|
|
member_qualifications_view_sqlite,
|
|
member_table,
|
|
member_view_mysql,
|
|
member_view_postgres,
|
|
member_view_sqlite,
|
|
membership_status_table,
|
|
membership_table,
|
|
membership_view_mysql,
|
|
membership_view_postgres,
|
|
membership_view_sqlite,
|
|
qualification_table,
|
|
salutation_table,
|
|
} from "./baseSchemaTables/member";
|
|
import { query_table, template_table, template_usage_table } from "./baseSchemaTables/query_template";
|
|
import {
|
|
protocol_agenda_table,
|
|
protocol_decision_table,
|
|
protocol_presence_table,
|
|
protocol_printout_table,
|
|
protocol_table,
|
|
protocol_voting_table,
|
|
} from "./baseSchemaTables/protocol";
|
|
import { calendar_table, calendar_type_table } from "./baseSchemaTables/calendar";
|
|
import {
|
|
newsletter_config_table,
|
|
newsletter_dates_table,
|
|
newsletter_recipients_table,
|
|
newsletter_table,
|
|
} from "./baseSchemaTables/newsletter";
|
|
import { DB_TYPE } from "../env.defaults";
|
|
|
|
export class CreateSchema1738166167472 implements MigrationInterface {
|
|
name = "CreateSchema1738166167472";
|
|
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
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(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(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);
|
|
|
|
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);
|
|
if (DB_TYPE == "postgres") await queryRunner.createView(membership_view_postgres, true);
|
|
else if (DB_TYPE == "mysql") await queryRunner.createView(membership_view_mysql, true);
|
|
else if (DB_TYPE == "sqlite") await queryRunner.createView(membership_view_sqlite, true);
|
|
if (DB_TYPE == "postgres") await queryRunner.createView(member_qualifications_view_postgres, true);
|
|
else if (DB_TYPE == "mysql") await queryRunner.createView(member_qualifications_view_mysql, true);
|
|
else if (DB_TYPE == "sqlite") await queryRunner.createView(member_qualifications_view_sqlite, true);
|
|
if (DB_TYPE == "postgres") await queryRunner.createView(member_executive_positions_view_postgres, true);
|
|
else if (DB_TYPE == "mysql") await queryRunner.createView(member_executive_positions_view_mysql, true);
|
|
else if (DB_TYPE == "sqlite") await queryRunner.createView(member_executive_positions_view_sqlite, 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(templateUsage)
|
|
.values([{ scope: "newsletter" }, { scope: "protocol" }, { scope: "member.list" }])
|
|
.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<void> {
|
|
await queryRunner.dropTable("newsletter_dates", true, true, true);
|
|
await queryRunner.dropTable("newsletter_recipients", true, true, true);
|
|
await queryRunner.dropTable("newsletter", true, true, true);
|
|
await queryRunner.dropTable("newsletter_config", true, true, true);
|
|
|
|
await queryRunner.dropTable("calendar", true, true, true);
|
|
await queryRunner.dropTable("calendar_type", true, true, true);
|
|
|
|
await queryRunner.dropTable("protocol_agenda", true, true, true);
|
|
await queryRunner.dropTable("protocol_decision", true, true, true);
|
|
await queryRunner.dropTable("protocol_presence", true, true, true);
|
|
await queryRunner.dropTable("protocol_voting", true, true, true);
|
|
await queryRunner.dropTable("protocol_printout", true, true, true);
|
|
await queryRunner.dropTable("protocol", true, true, true);
|
|
|
|
await queryRunner.dropTable("template_usage", true, true, true);
|
|
await queryRunner.dropTable("template", true, true, true);
|
|
await queryRunner.dropTable("query", true, true, true);
|
|
|
|
await queryRunner.dropView("member_view");
|
|
await queryRunner.dropView("membership_view");
|
|
await queryRunner.dropView("member_qualifications_view");
|
|
await queryRunner.dropView("member_executive_positions_view");
|
|
|
|
await queryRunner.dropTable("member_awards", true, true, true);
|
|
await queryRunner.dropTable("communication", true, true, true);
|
|
await queryRunner.dropTable("membership", true, true, true);
|
|
await queryRunner.dropTable("member_executive_positions", true, true, true);
|
|
await queryRunner.dropTable("member_qualifications", true, true, true);
|
|
await queryRunner.dropTable("member", true, true, true);
|
|
await queryRunner.dropTable("salutation", true, true, true);
|
|
await queryRunner.dropTable("award", true, true, true);
|
|
await queryRunner.dropTable("communication_type", true, true, true);
|
|
await queryRunner.dropTable("membership_status", true, true, true);
|
|
await queryRunner.dropTable("executive_position", true, true, true);
|
|
await queryRunner.dropTable("qualification", true, true, true);
|
|
|
|
await queryRunner.dropTable("webapi_permission", true, true, true);
|
|
await queryRunner.dropTable("webapi", true, true, true);
|
|
await queryRunner.dropTable("refresh", true, true, true);
|
|
await queryRunner.dropTable("user_permission", true, true, true);
|
|
await queryRunner.dropTable("user_roles", true, true, true);
|
|
await queryRunner.dropTable("user", true, true, true);
|
|
await queryRunner.dropTable("role_permission", true, true, true);
|
|
await queryRunner.dropTable("role", true, true, true);
|
|
await queryRunner.dropTable("invite", true, true, true);
|
|
await queryRunner.dropTable("reset", true, true, true);
|
|
}
|
|
}
|