28 lines
1.7 KiB
TypeScript
28 lines
1.7 KiB
TypeScript
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
|
|
export class ChangeEnumValueOfPaymentStatus1749124463575 implements MigrationInterface {
|
|
name = "ChangeEnumValueOfPaymentStatus1749124463575";
|
|
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`ALTER TYPE "public"."payment_status_enum" RENAME TO "payment_status_enum_old"`);
|
|
await queryRunner.query(`CREATE TYPE "public"."payment_status_enum" AS ENUM('PENDING', 'COMPLETED', 'CANCELLED')`);
|
|
await queryRunner.query(`ALTER TABLE "payment" ALTER COLUMN "status" DROP DEFAULT`);
|
|
await queryRunner.query(
|
|
`ALTER TABLE "payment" ALTER COLUMN "status" TYPE "public"."payment_status_enum" USING "status"::"text"::"public"."payment_status_enum"`,
|
|
);
|
|
await queryRunner.query(`ALTER TABLE "payment" ALTER COLUMN "status" SET DEFAULT 'PENDING'`);
|
|
await queryRunner.query(`DROP TYPE "public"."payment_status_enum_old"`);
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`CREATE TYPE "public"."payment_status_enum_old" AS ENUM('CANCELLED', 'COMPLETED', 'FAILED', 'PENDING')`);
|
|
await queryRunner.query(`ALTER TABLE "payment" ALTER COLUMN "status" DROP DEFAULT`);
|
|
await queryRunner.query(
|
|
`ALTER TABLE "payment" ALTER COLUMN "status" TYPE "public"."payment_status_enum_old" USING "status"::"text"::"public"."payment_status_enum_old"`,
|
|
);
|
|
await queryRunner.query(`ALTER TABLE "payment" ALTER COLUMN "status" SET DEFAULT 'PENDING'`);
|
|
await queryRunner.query(`DROP TYPE "public"."payment_status_enum"`);
|
|
await queryRunner.query(`ALTER TYPE "public"."payment_status_enum_old" RENAME TO "payment_status_enum"`);
|
|
}
|
|
}
|