42 lines
3.0 KiB
TypeScript
42 lines
3.0 KiB
TypeScript
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
|
|
export class Migrations1770010221435 implements MigrationInterface {
|
|
name = "Migrations1770010221435";
|
|
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`ALTER TABLE "invoice_item" DROP CONSTRAINT "FK_invoice_item_plan"`);
|
|
await queryRunner.query(`DROP INDEX "public"."IDX_invoice_item_plan"`);
|
|
await queryRunner.query(`CREATE TYPE "public"."invoice_purpose_enum" AS ENUM('new', 'renew', 'upgrade') `);
|
|
await queryRunner.query(`ALTER TABLE "invoice" ADD "purpose" "public"."invoice_purpose_enum" NOT NULL DEFAULT 'new'`);
|
|
await queryRunner.query(`ALTER TYPE "public"."permission_name_enum" RENAME TO "permission_name_enum_old"`);
|
|
await queryRunner.query(
|
|
`CREATE TYPE "public"."permission_name_enum" AS ENUM('services', 'customers', 'agents', 'developers', 'invoices', 'transactions', 'discounts', 'admins', 'tickets', 'criticisms', 'contacts_us', 'advertisements', 'announcements', 'blogs', 'learnings', 'logs', 'settings', 'bank_accounts', 'payments', 'manage_sso_clients', 'support_plan', 'dmenu')`,
|
|
);
|
|
await queryRunner.query(
|
|
`ALTER TABLE "permission" ALTER COLUMN "name" TYPE "public"."permission_name_enum" USING "name"::"text"::"public"."permission_name_enum"`,
|
|
);
|
|
await queryRunner.query(`DROP TYPE "public"."permission_name_enum_old"`);
|
|
await queryRunner.query(
|
|
`ALTER TABLE "invoice_item" ADD CONSTRAINT "FK_02992a67ba11a64530448925295" FOREIGN KEY ("planId") REFERENCES "subscription_plan"("id") ON DELETE RESTRICT ON UPDATE NO ACTION`,
|
|
);
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`ALTER TABLE "invoice_item" DROP CONSTRAINT "FK_02992a67ba11a64530448925295"`);
|
|
await queryRunner.query(
|
|
`CREATE TYPE "public"."permission_name_enum_old" AS ENUM('services', 'customers', 'agents', 'developers', 'invoices', 'transactions', 'discounts', 'admins', 'tickets', 'criticisms', 'contacts_us', 'advertisements', 'announcements', 'blogs', 'learnings', 'logs', 'settings', 'bank_accounts', 'payments', 'manage_sso_clients', 'support_plan', 'icons', 'dmenu')`,
|
|
);
|
|
await queryRunner.query(
|
|
`ALTER TABLE "permission" ALTER COLUMN "name" TYPE "public"."permission_name_enum_old" USING "name"::"text"::"public"."permission_name_enum_old"`,
|
|
);
|
|
await queryRunner.query(`DROP TYPE "public"."permission_name_enum"`);
|
|
await queryRunner.query(`ALTER TYPE "public"."permission_name_enum_old" RENAME TO "permission_name_enum"`);
|
|
await queryRunner.query(`ALTER TABLE "invoice" DROP COLUMN "purpose"`);
|
|
await queryRunner.query(`DROP TYPE "public"."invoice_purpose_enum"`);
|
|
await queryRunner.query(`CREATE INDEX "IDX_invoice_item_plan" ON "invoice_item" ("planId") `);
|
|
await queryRunner.query(
|
|
`ALTER TABLE "invoice_item" ADD CONSTRAINT "FK_invoice_item_plan" FOREIGN KEY ("planId") REFERENCES "subscription_plan"("id") ON DELETE RESTRICT ON UPDATE NO ACTION`,
|
|
);
|
|
}
|
|
}
|