🛠️ HouseHub - Correction AUTO_INCREMENT Voyages";
try {
// On récupère toutes les familles actives
$stmt = $meta_pdo->query("SELECT db_name, name FROM families");
$families = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($families as $f) {
$dbName = $f['db_name'];
echo "
Famille : {$f['name']} ($dbName)
";
try {
$pdo = new PDO("mysql:host=$db_host;dbname=$dbName;charset=utf8mb4", $db_user, $db_pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
// 1. On vérifie si la clé primaire existe déjà pour éviter de faire planter le script
$hasPrimaryKey = $pdo->query("SHOW KEYS FROM pf_holidays WHERE Key_name = 'PRIMARY'")->fetch();
if (!$hasPrimaryKey) {
$pdo->exec("ALTER TABLE pf_holidays ADD PRIMARY KEY (id)");
echo "- ✅ Clé primaire restaurée sur la colonne `id`.
";
}
// 2. On restaure la propriété AUTO_INCREMENT
$pdo->exec("ALTER TABLE pf_holidays MODIFY id INT(11) NOT NULL AUTO_INCREMENT");
echo "- ✅ Propriété AUTO_INCREMENT restaurée.
";
} catch (\PDOException $e) {
// On attrape l'erreur si la modif a déjà été faite
echo "- ℹ️ Action ignorée ou table déjà à jour : " . $e->getMessage() . "
";
}
echo "
";
}
echo "🚀 Correction terminée ! Tu peux réessayer de créer un voyage.
";
} catch (Exception $e) {
die("Erreur fatale de connexion à la Meta DB : " . $e->getMessage());
}
?>