import { MigrationInterface, QueryRunner } from "typeorm";

export class AddFacturadaEstadoOt1780200000000 implements MigrationInterface {
  name = "AddFacturadaEstadoOt1780200000000";

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE taller_ordenes_trabajo MODIFY COLUMN estado ENUM('borrador','en_proceso','cotizada','aprobada','terminada','facturada','entregada') NOT NULL DEFAULT 'borrador'`,
    );
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    // Antes de revertir el enum hay que mover cualquier fila en 'facturada'
    // a 'terminada' — si no, el ALTER siguiente la trunca a '' y MySQL la
    // rechaza (columna NOT NULL sin default vacio permitido).
    await queryRunner.query(
      `UPDATE taller_ordenes_trabajo SET estado = 'terminada' WHERE estado = 'facturada'`,
    );
    await queryRunner.query(
      `ALTER TABLE taller_ordenes_trabajo MODIFY COLUMN estado ENUM('borrador','en_proceso','cotizada','aprobada','terminada','entregada') NOT NULL DEFAULT 'borrador'`,
    );
  }
}
