Files
zod-backend/src/db/migrations/1733209041336-create-otp-entity.ts
2024-12-05 11:20:50 +03:00

31 lines
1.5 KiB
TypeScript

import { MigrationInterface, QueryRunner } from 'typeorm';
export class CreateOtpEntity1733209041336 implements MigrationInterface {
name = 'CreateOtpEntity1733209041336';
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`
CREATE TABLE "otp"
("id" uuid NOT NULL DEFAULT uuid_generate_v4(),
"value" character varying(255) NOT NULL,
"scope" character varying(255) NOT NULL,
"otp_type" character varying(255) NOT NULL,
"expires_at" TIMESTAMP WITH TIME ZONE NOT NULL,
"user_id" uuid NOT NULL, "created_at" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
CONSTRAINT "PK_32556d9d7b22031d7d0e1fd6723" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_6427c192ef35355ebac18fb683" ON "otp" ("scope") `);
await queryRunner.query(`CREATE INDEX "IDX_258d028d322ea3b856bf9f12f2" ON "otp" ("user_id") `);
await queryRunner.query(
`ALTER TABLE "otp" ADD CONSTRAINT "FK_258d028d322ea3b856bf9f12f25" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION`,
);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "otp" DROP CONSTRAINT "FK_258d028d322ea3b856bf9f12f25"`);
await queryRunner.query(`DROP INDEX "public"."IDX_258d028d322ea3b856bf9f12f2"`);
await queryRunner.query(`DROP INDEX "public"."IDX_6427c192ef35355ebac18fb683"`);
await queryRunner.query(`DROP TABLE "otp"`);
}
}