import { MigrationInterface, QueryRunner } from 'typeorm'; export class CreateTableOtpCerifications1749028279580 implements MigrationInterface { name = 'CreateTableOtpCerifications1749028279580'; public async up(queryRunner: QueryRunner): Promise { await queryRunner.query( `CREATE TYPE "public"."otp_verifications_action_type_enum" AS ENUM('CREATE_DISCOUNT', 'CANCEL_TRANSACTION')`, ); await queryRunner.query( `CREATE TYPE "public"."otp_verifications_source_enum" AS ENUM('POS', 'WEB')`, ); await queryRunner.query( `CREATE TABLE "otp_verifications" ("id" uuid NOT NULL DEFAULT uuid_generate_v4(), "creator_id" character varying(36), "creator_name" character varying(125), "editor_id" character varying(36), "editor_name" character varying(125), "created_at" bigint NOT NULL, "updated_at" bigint NOT NULL, "otp_code" character varying NOT NULL, "action_type" "public"."otp_verifications_action_type_enum" NOT NULL, "target_id" character varying, "reference" character varying, "source" "public"."otp_verifications_source_enum" NOT NULL, "is_used" boolean NOT NULL DEFAULT false, "expired_at" bigint NOT NULL, "verified_at" bigint, CONSTRAINT "PK_91d17e75ac3182dba6701869b39" PRIMARY KEY ("id"))`, ); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.query(`DROP TABLE "otp_verifications"`); await queryRunner.query( `DROP TYPE "public"."otp_verifications_source_enum"`, ); await queryRunner.query( `DROP TYPE "public"."otp_verifications_action_type_enum"`, ); } }