import { MigrationInterface, QueryRunner } from "typeorm"; export class AddReceipt1730547520878 implements MigrationInterface { name = 'AddReceipt1730547520878' public async up(queryRunner: QueryRunner): Promise { await queryRunner.query(`CREATE TABLE "receipts" ("id" SERIAL NOT NULL, "branch_id" character varying NOT NULL, "income" integer NOT NULL DEFAULT '0', "spend" integer NOT NULL DEFAULT '0', "description" character varying, "type" integer NOT NULL DEFAULT '0', "sub_type" integer NOT NULL DEFAULT '0', "sender_id" uuid, "receiver_id" uuid, "created_at" TIMESTAMP NOT NULL DEFAULT now(), CONSTRAINT "PK_5e8182d7c29e023da6e1ff33bfe" PRIMARY KEY ("id"))`); await queryRunner.query(`ALTER TABLE "branches" ADD "image_url" character varying`); await queryRunner.query(`ALTER TABLE "branch_menu" ADD "sold_count" integer NOT NULL DEFAULT '0'`); await queryRunner.query(`ALTER TABLE "branches" ALTER COLUMN "name" DROP NOT NULL`); await queryRunner.query(`ALTER TABLE "branches" ALTER COLUMN "location" DROP NOT NULL`); await queryRunner.query(`ALTER TABLE "branches" ALTER COLUMN "phone_number" DROP NOT NULL`); await queryRunner.query(`ALTER TABLE "receipts" ADD CONSTRAINT "FK_82e9dee911c0e7393154d1d98ad" FOREIGN KEY ("branch_id") REFERENCES "branches"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE "receipts" ADD CONSTRAINT "FK_eda4c4e486a25beef4dc82a41d5" FOREIGN KEY ("sender_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE "receipts" ADD CONSTRAINT "FK_366c3d3cf125da97552f40001a1" FOREIGN KEY ("receiver_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`); } public async down(queryRunner: QueryRunner): Promise { await queryRunner.query(`ALTER TABLE "receipts" DROP CONSTRAINT "FK_366c3d3cf125da97552f40001a1"`); await queryRunner.query(`ALTER TABLE "receipts" DROP CONSTRAINT "FK_eda4c4e486a25beef4dc82a41d5"`); await queryRunner.query(`ALTER TABLE "receipts" DROP CONSTRAINT "FK_82e9dee911c0e7393154d1d98ad"`); await queryRunner.query(`ALTER TABLE "branches" ALTER COLUMN "phone_number" SET NOT NULL`); await queryRunner.query(`ALTER TABLE "branches" ALTER COLUMN "location" SET NOT NULL`); await queryRunner.query(`ALTER TABLE "branches" ALTER COLUMN "name" SET NOT NULL`); await queryRunner.query(`ALTER TABLE "branch_menu" DROP COLUMN "sold_count"`); await queryRunner.query(`ALTER TABLE "branches" DROP COLUMN "image_url"`); await queryRunner.query(`DROP TABLE "receipts"`); } }