import { MigrationInterface, QueryRunner } from "typeorm"

export class FixCustomerNotificationFk1760697314449 implements MigrationInterface {
  name = "FixCustomerNotificationFk1760697314449"

  public async up(queryRunner: QueryRunner): Promise<void> {
    // Drop the existing FK that references users
    await queryRunner.query(
      `ALTER TABLE "customer_notifications" DROP CONSTRAINT "FK_f1554a91aa1dae3c4a4159baf23"`,
    )

    // Add the correct FK that references customers
    await queryRunner.query(
      `ALTER TABLE "customer_notifications" ADD CONSTRAINT "FK_f1554a91aa1dae3c4a4159baf23" FOREIGN KEY ("customer_id") REFERENCES "customers"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    // Drop the FK to customers
    await queryRunner.query(
      `ALTER TABLE "customer_notifications" DROP CONSTRAINT "FK_f1554a91aa1dae3c4a4159baf23"`,
    )

    // Add back the FK to users (for rollback)
    await queryRunner.query(
      `ALTER TABLE "customer_notifications" ADD CONSTRAINT "FK_f1554a91aa1dae3c4a4159baf23" FOREIGN KEY ("customer_id") REFERENCES "users"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
  }
}
