import { MigrationInterface, QueryRunner } from "typeorm"; export class Migrations1770010221435 implements MigrationInterface { name = "Migrations1770010221435"; public async up(queryRunner: QueryRunner): Promise { 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 { 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`, ); } }