$s !== ''); echo "== " . basename($file) . " (" . count($statements) . " statement) ==\n"; foreach ($statements as $stmt) { try { $pdo->exec($stmt); $totalStmts++; } catch (PDOException $e) { $head = substr(preg_replace('/\s+/', ' ', $stmt), 0, 80); fwrite(STDERR, "[ERRORE] su \"$head...\": " . $e->getMessage() . "\n"); exit(1); } } } echo "\n[OK] Eseguiti $totalStmts statement.\n"; // Verifica rapida: tabella org_roles (4.1) e le 4 tabelle competenze (4.2). $cols = $pdo->query("SHOW COLUMNS FROM org_roles")->fetchAll(PDO::FETCH_COLUMN, 0); $expected = ['id','organization_id','role_name','parent_role_id','holder_user_id','is_governance_body','description','sort_order','created_by','created_at','updated_at']; $missing = array_diff($expected, $cols); if ($missing) { fwrite(STDERR, "[ATTENZIONE] org_roles colonne mancanti: " . implode(', ', $missing) . "\n"); exit(1); } echo "[OK] org_roles pronta (A4 Fase 4.1).\n"; foreach (['skills','role_skills','user_skills','skill_course_map'] as $t) { $c = $pdo->query("SHOW COLUMNS FROM `$t`")->fetchAll(PDO::FETCH_COLUMN, 0); if (!$c) { fwrite(STDERR, "[ATTENZIONE] tabella mancante: $t\n"); exit(1); } echo "[OK] $t pronta (" . count($c) . " colonne).\n"; } echo "[OK] Competenze pronte (A4 Fase 4.2).\n";