mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-30 01:48:12 +00:00
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { MigrationInterface, QueryRunner } from "typeorm";
|
|
|
|
/**
|
|
* Support email as a second OTP channel alongside phone (e.g. signup lets the
|
|
* user choose which one to verify). `phone` becomes nullable since an
|
|
* email-channel row has none, and `email` is added as a nullable unique column
|
|
* mirroring `phone`'s shape.
|
|
*/
|
|
export class AddEmailToOtpVerifications1900000000000
|
|
implements MigrationInterface
|
|
{
|
|
name = "AddEmailToOtpVerifications1900000000000";
|
|
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
ALTER TABLE public.otp_verifications
|
|
ALTER COLUMN phone DROP NOT NULL
|
|
`);
|
|
await queryRunner.query(`
|
|
ALTER TABLE public.otp_verifications
|
|
ADD COLUMN IF NOT EXISTS email varchar UNIQUE
|
|
`);
|
|
}
|
|
|
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(`
|
|
ALTER TABLE public.otp_verifications
|
|
DROP COLUMN IF EXISTS email
|
|
`);
|
|
await queryRunner.query(`
|
|
ALTER TABLE public.otp_verifications
|
|
ALTER COLUMN phone SET NOT NULL
|
|
`);
|
|
}
|
|
}
|