-- Script de Estandarización de Ciudades (10 por Región)
-- VERSION "NUCLEAR": Elimina temporalmente la restricción para evitar errores, luego la restaura.

-- 1. Eliminar temporalmente la llave foránea de equipos
-- Esto permite borrar ciudades sin que la base de datos se queje
ALTER TABLE ltic_equipos DROP FOREIGN KEY ltic_equipos_ibfk_1;

-- 2. Limpiar tabla de ciudades
-- Ahora sí podemos usar TRUNCATE con confianza
TRUNCATE TABLE ltic_ciudades;

-- 3. Insertar las 90 Ciudades Estandarizadas (10 por región)

-- Kanto (1-10)
INSERT INTO ltic_ciudades (id, region_id, nombre) VALUES 
(1, 1, 'Pueblo Paleta'), (2, 1, 'Ciudad Verde'), (3, 1, 'Ciudad Plateada'), (4, 1, 'Ciudad Celeste'), 
(5, 1, 'Ciudad Carmín'), (6, 1, 'Pueblo Lavanda'), (7, 1, 'Ciudad Azulona'), (8, 1, 'Ciudad Azafrán'), 
(9, 1, 'Ciudad Fucsia'), (10, 1, 'Isla Canela');

-- Johto (11-20)
INSERT INTO ltic_ciudades (id, region_id, nombre) VALUES 
(11, 2, 'Pueblo Primavera'), (12, 2, 'Ciudad Cerezo'), (13, 2, 'Ciudad Malva'), (14, 2, 'Pueblo Azalea'), 
(15, 2, 'Ciudad Trigal'), (16, 2, 'Ciudad Iris'), (17, 2, 'Ciudad Olivo'), (18, 2, 'Ciudad Orquídea'), 
(19, 2, 'Pueblo Caoba'), (20, 2, 'Ciudad Endrino');

-- Hoenn (21-30)
INSERT INTO ltic_ciudades (id, region_id, nombre) VALUES 
(21, 3, 'Villa Raíz'), (22, 3, 'Pueblo Escaso'), (23, 3, 'Ciudad Petalia'), (24, 3, 'Ciudad Férrica'), 
(25, 3, 'Pueblo Azuliza'), (26, 3, 'Ciudad Portual'), (27, 3, 'Ciudad Malvalona'), (28, 3, 'Pueblo Lavacalda'), 
(29, 3, 'Ciudad Arborada'), (30, 3, 'Ciudad Calagua');

-- Sinnoh (31-40)
INSERT INTO ltic_ciudades (id, region_id, nombre) VALUES 
(31, 4, 'Pueblo Hojaverde'), (32, 4, 'Pueblo Arena'), (33, 4, 'Ciudad Jubileo'), (34, 4, 'Ciudad Pirita'), 
(35, 4, 'Pueblo Aromaflor'), (36, 4, 'Ciudad Vetusta'), (37, 4, 'Ciudad Corazón'), (38, 4, 'Pueblo Sosiego'), 
(39, 4, 'Ciudad Rocavelo'), (40, 4, 'Ciudad Pradera');

-- Teselia (41-50)
INSERT INTO ltic_ciudades (id, region_id, nombre) VALUES 
(41, 5, 'Pueblo Arcilla'), (42, 5, 'Pueblo Terracota'), (43, 5, 'Ciudad Gres'), (44, 5, 'Ciudad Esmalte'), 
(45, 5, 'Ciudad Porcelana'), (46, 5, 'Ciudad Mayólica'), (47, 5, 'Ciudad Fayenza'), (48, 5, 'Ciudad Loza'), 
(49, 5, 'Ciudad Teja'), (50, 5, 'Ciudad Caolín');

-- Kalos (51-60)
INSERT INTO ltic_ciudades (id, region_id, nombre) VALUES 
(51, 6, 'Pueblo Boceto'), (52, 6, 'Pueblo Acuarela'), (53, 6, 'Ciudad Novarte'), (54, 6, 'Ciudad Luminalia'), 
(55, 6, 'Pueblo Vánitas'), (56, 6, 'Ciudad Yantra'), (57, 6, 'Ciudad Témpera'), (58, 6, 'Ciudad Romantis'), 
(59, 6, 'Ciudad Fluxus'), (60, 6, 'Ciudad Fractal');

-- Alola (61-70)
INSERT INTO ltic_ciudades (id, region_id, nombre) VALUES 
(61, 7, 'Pueblo Lilii'), (62, 7, 'Ciudad Hauoli'), (63, 7, 'Ciudad Heahea'), (64, 7, 'Pueblo Paniola'), 
(65, 7, 'Ciudad Konikoni'), (66, 7, 'Ciudad Malíe'), (67, 7, 'Pueblo Po'), (68, 7, 'Aldea Marina'), 
(69, 7, 'Resort Hanohano'), (70, 7, 'Observatorio Hokulani');

-- Galar (71-80)
INSERT INTO ltic_ciudades (id, region_id, nombre) VALUES 
(71, 8, 'Pueblo Yarda'), (72, 8, 'Pueblo Par'), (73, 8, 'Ciudad Motor'), (74, 8, 'Pueblo Amura'), 
(75, 8, 'Ciudad Artejo'), (76, 8, 'Pueblo Ladera'), (77, 8, 'Pueblo Plié'), (78, 8, 'Ciudad Circhester'), 
(79, 8, 'Pueblo Crampón'), (80, 8, 'Ciudad Puntera');

-- Paldea (81-90)
INSERT INTO ltic_ciudades (id, region_id, nombre) VALUES 
(81, 9, 'Pueblo Cabo'), (82, 9, 'Ciudad Meseta'), (83, 9, 'Pueblo Pirotín'), (84, 9, 'Ciudad Leudal'), 
(85, 9, 'Pueblo Altamía'), (86, 9, 'Ciudad Cántara'), (87, 9, 'Pueblo Mestura'), (88, 9, 'Pueblo Hozkailu'), 
(89, 9, 'Pueblo Alforno'), (90, 9, 'Ciudad Glaciado');

-- 4. Actualizar IDs de Equipos para que coincidan con las nuevas ciudades
-- Rangers (Ciudad Verde) -> 2
UPDATE ltic_equipos SET ciudad_id = 2 WHERE nombre_oficial LIKE '%Rangers%';

-- Locomotora (Ciudad Trigal) -> 15
UPDATE ltic_equipos SET ciudad_id = 15 WHERE nombre_oficial LIKE '%Locomotora%';

-- Marineros (Ciudad Portual) -> 26
UPDATE ltic_equipos SET ciudad_id = 26 WHERE nombre_oficial LIKE '%Marineros%';

-- Mineros (Ciudad Pirita): ID anterior 39 -> ID nuevo 34
UPDATE ltic_equipos SET ciudad_id = 34 WHERE nombre_oficial LIKE '%Mineros%';

-- United (Ciudad Porcelana): ID anterior 54 -> ID nuevo 45
UPDATE ltic_equipos SET ciudad_id = 45 WHERE nombre_oficial LIKE '%United%';

-- Caballeros (Ciudad Luminalia): ID anterior 60 -> ID nuevo 54
UPDATE ltic_equipos SET ciudad_id = 54 WHERE nombre_oficial LIKE '%Caballeros%';

-- 5. Restaurar la llave foránea
ALTER TABLE ltic_equipos 
ADD CONSTRAINT ltic_equipos_ibfk_1 
FOREIGN KEY (ciudad_id) REFERENCES ltic_ciudades(id);

SELECT 'Migración NUCLEAR Completada: FK borrada, tabla truncada, datos insertados y FK restaurada.' AS Status;
