import mysql.connector

db_config = {
    "host": "localhost",
    "user": "root",
    "password": "vertrigo",
    "database": "educa25_docente"
}

def optimize_indexes():
    queries = [
        "ALTER TABLE `matriculados` DROP INDEX `ano_lectivo_grado_curso`;",
        "ALTER TABLE `matriculados` DROP INDEX `idx_reporte_mat`;",
        "ALTER TABLE `tareas_trabajos` DROP INDEX `row_id`;",
        "ALTER TABLE `asignaturas` DROP INDEX `ano_lectivo_grado_curso`;",
        "ALTER TABLE `asignaturas_copy` DROP INDEX `ano_lectivo_grado_curso`;",
        "ALTER TABLE `asignaturas_ppal` DROP INDEX `ano_lectivo_grado_curso`;",
        "ALTER TABLE `notas` DROP INDEX `idx_auditoria`;"
    ]
    
    try:
        print("Conectando a la base de datos...")
        conn = mysql.connector.connect(**db_config)
        cursor = conn.cursor()
        
        for query in queries:
            try:
                print(f"Ejecutando: {query}")
                cursor.execute(query)
                print("  -> OK")
            except mysql.connector.Error as err:
                print(f"  -> Error: {err}")
                
        conn.commit()
        cursor.close()
        conn.close()
        print("\n¡Optimización de índices completada!")
    except Exception as e:
        print(f"Error de conexión: {e}")

if __name__ == "__main__":
    # Pedir confirmación antes de ejecutar
    confirm = input("Este script eliminará índices redundantes en la base de datos 'educa25_docente'. ¿Deseas continuar? (y/n): ")
    if confirm.lower() == 'y':
        optimize_indexes()
    else:
        print("Operación cancelada.")
