-- ============================================
-- Migración: Agregar campos nivel, grado, sección y QR a estudiantes
-- Fecha: 2025-11-01
-- ============================================

USE sica_db;

-- Agregar nuevos campos a la tabla estudiantes
ALTER TABLE estudiantes
ADD COLUMN nivel_id INT NULL AFTER estado,
ADD COLUMN grado_id INT NULL AFTER nivel_id,
ADD COLUMN seccion_id INT NULL AFTER grado_id,
ADD COLUMN qr_code VARCHAR(255) NULL AFTER seccion_id,
ADD CONSTRAINT fk_estudiantes_nivel FOREIGN KEY (nivel_id) REFERENCES niveles(id) ON DELETE SET NULL,
ADD CONSTRAINT fk_estudiantes_grado FOREIGN KEY (grado_id) REFERENCES grados(id) ON DELETE SET NULL,
ADD CONSTRAINT fk_estudiantes_seccion FOREIGN KEY (seccion_id) REFERENCES secciones(id) ON DELETE SET NULL;

-- Crear índices para mejorar el rendimiento
CREATE INDEX idx_nivel ON estudiantes(nivel_id);
CREATE INDEX idx_grado ON estudiantes(grado_id);
CREATE INDEX idx_seccion ON estudiantes(seccion_id);

SELECT 'Migración completada exitosamente: Campos agregados a tabla estudiantes' AS mensaje;
