-- Opcional: asegura un índice para que el filtro por estatus laboral sea rápido.
-- No borra ni modifica trabajadores.

SET @col_exists := (
    SELECT COUNT(1)
    FROM information_schema.columns
    WHERE table_schema = DATABASE()
      AND table_name = 'personas'
      AND column_name = 'estatus_laboral'
);

SET @idx_exists := (
    SELECT COUNT(1)
    FROM information_schema.statistics
    WHERE table_schema = DATABASE()
      AND table_name = 'personas'
      AND index_name = 'idx_personas_estatus_laboral'
);

SET @sql := IF(
    @col_exists = 0,
    'SELECT ''No se creó índice: la columna personas.estatus_laboral no existe.'' AS mensaje',
    IF(
        @idx_exists = 0,
        'CREATE INDEX idx_personas_estatus_laboral ON personas (estatus_laboral)',
        'SELECT ''Índice idx_personas_estatus_laboral ya existe. No se requiere acción.'' AS mensaje'
    )
);

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
