mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-08-26 06:09:41 +00:00
47 lines
2.2 KiB
TypeScript
47 lines
2.2 KiB
TypeScript
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
|
|
export class CreateCustomerEntity1733298524771 implements MigrationInterface {
|
|
name = 'CreateCustomerEntity1733298524771';
|
|
|
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
await queryRunner.query(
|
|
`CREATE TABLE "customers"
|
|
("id" uuid NOT NULL,
|
|
"customer_status" character varying(255) NOT NULL DEFAULT 'PENDING',
|
|
"rejection_reason" text,
|
|
"first_name" character varying(255),
|
|
"last_name" character varying(255),
|
|
"date_of_birth" date,
|
|
"national_id" character varying(255),
|
|
"national_id_expiry" date,
|
|
"country_of_residence" character varying(255),
|
|
"source_of_income" character varying(255),
|
|
"profession" character varying(255),
|
|
"profession_type" character varying(255),
|
|
"is_pep" boolean NOT NULL DEFAULT false,
|
|
"gender" character varying(255),
|
|
"is_junior" boolean NOT NULL DEFAULT false,
|
|
"is_guardian" boolean NOT NULL DEFAULT false,
|
|
"profile_picture_id" uuid,
|
|
"user_id" uuid NOT NULL,
|
|
"createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
|
|
"updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(),
|
|
CONSTRAINT "REL_5d1f609371a285123294fddcf3" UNIQUE ("user_id"),
|
|
CONSTRAINT "REL_02ec15de199e79a0c46869895f" UNIQUE ("profile_picture_id"),
|
|
CONSTRAINT "PK_a7a13f4cacb744524e44dfdad32" PRIMARY KEY ("id"))`,
|
|
);
|
|
await queryRunner.query(
|
|
`ALTER TABLE "customers" ADD CONSTRAINT "FK_e7574892da11dd01de5cfc46499" FOREIGN KEY ("profile_picture_id") REFERENCES "documents"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
|
|
);
|
|
await queryRunner.query(
|
|
`ALTER TABLE "customers" ADD CONSTRAINT "FK_11d81cd7be87b6f8865b0cf7661" 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 "customers" DROP CONSTRAINT "FK_11d81cd7be87b6f8865b0cf7661"`);
|
|
await queryRunner.query(`ALTER TABLE "customers" DROP CONSTRAINT "FK_e7574892da11dd01de5cfc46499"`);
|
|
await queryRunner.query(`DROP TABLE "customers"`);
|
|
}
|
|
}
|