import { MigrationInterface, QueryRunner } from "typeorm"

export class AddStatusToCompaniesIfMissing1763545890407 implements MigrationInterface {
  name = "AddStatusToCompaniesIfMissing1763545890407"

  public async up(queryRunner: QueryRunner): Promise<void> {
    // Check if column exists
    const columnExists = await queryRunner.query(`
      SELECT column_name 
      FROM information_schema.columns 
      WHERE table_name = 'companies' 
      AND column_name = 'status'
    `)

    // If not exists → Add column
    if (columnExists.length === 0) {
      await queryRunner.query(`
        ALTER TABLE companies 
        ADD COLUMN status SMALLINT DEFAULT 1
      `)
    }
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    // Safely drop column IF exists
    const columnExists = await queryRunner.query(`
      SELECT column_name 
      FROM information_schema.columns 
      WHERE table_name = 'companies' 
      AND column_name = 'status'
    `)

    if (columnExists.length > 0) {
      await queryRunner.query(`
        ALTER TABLE companies 
        DROP COLUMN status
      `)
    }
  }
}
