INSERT IGNORE INTO inv_categories (name, code, color, requires_line, sort_order) VALUES ('Linea di produzione', 'line', '#dc2626', 1, 10), ('Attrezzature', 'equipment', '#0d6efd', 0, 20), ('Accessori', 'accessories', '#20c997', 0, 30), ('Qualità', 'quality', '#6f42c1', 0, 40); UPDATE inv_equipment SET category_id = (SELECT id FROM inv_categories WHERE code = 'equipment') WHERE category_id IS NULL AND line_id IS NULL; INSERT INTO inv_equipment (name, category_id, line_id, status, description, created_at, updated_at) SELECT pl.name, (SELECT id FROM inv_categories WHERE code = 'line'), pl.id, IF(pl.status = 'active', 'active', 'out_of_service'), CONCAT_WS(' ', NULLIF(pl.brand, ''), NULLIF(pl.model, '')), NOW(), NOW() FROM production_lines pl WHERE NOT EXISTS ( SELECT 1 FROM inv_equipment e WHERE e.line_id = pl.id ); DELIMITER $$ DROP PROCEDURE IF EXISTS manutenzioni_migrate_step3 $$ CREATE PROCEDURE manutenzioni_migrate_step3() BEGIN DECLARE v_db VARCHAR(64); SET v_db = DATABASE(); IF NOT EXISTS (SELECT 1 FROM information_schema.table_constraints WHERE table_schema = v_db AND table_name = 'inv_equipment' AND constraint_name = 'fk_inv_equipment_category') THEN ALTER TABLE inv_equipment ADD CONSTRAINT fk_inv_equipment_category FOREIGN KEY (category_id) REFERENCES inv_categories (id) ON DELETE SET NULL; END IF; IF NOT EXISTS (SELECT 1 FROM information_schema.table_constraints WHERE table_schema = v_db AND table_name = 'inv_equipment' AND constraint_name = 'fk_inv_equipment_line') THEN ALTER TABLE inv_equipment ADD CONSTRAINT fk_inv_equipment_line FOREIGN KEY (line_id) REFERENCES production_lines (id) ON DELETE SET NULL; END IF; IF NOT EXISTS (SELECT 1 FROM information_schema.table_constraints WHERE table_schema = v_db AND table_name = 'inv_equipment' AND constraint_name = 'fk_inv_equipment_department') THEN ALTER TABLE inv_equipment ADD CONSTRAINT fk_inv_equipment_department FOREIGN KEY (department_id) REFERENCES departments (id) ON DELETE SET NULL; END IF; IF NOT EXISTS (SELECT 1 FROM information_schema.table_constraints WHERE table_schema = v_db AND table_name = 'inv_equipment' AND constraint_name = 'fk_inv_equipment_cover') THEN ALTER TABLE inv_equipment ADD CONSTRAINT fk_inv_equipment_cover FOREIGN KEY (cover_file_id) REFERENCES inv_equipment_files (id) ON DELETE SET NULL; END IF; END $$ DELIMITER ; CALL manutenzioni_migrate_step3(); DROP PROCEDURE manutenzioni_migrate_step3;