🗺️ Migration : Ajout du Véhicule aux Voyages
";
try {
$stmt = $meta_pdo->query("SELECT db_name, name FROM families WHERE is_active = 1");
$families = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($families as $family) {
$dbName = $family['db_name'];
try {
$pdo = new PDO("mysql:host=$db_host;dbname=$dbName;charset=utf8mb4", $db_user, $db_pass, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
// Ajout de la colonne vehicle_id
$pdo->exec("ALTER TABLE pf_holidays ADD COLUMN vehicle_id INT DEFAULT NULL");
// Optionnel mais propre : On ajoute une clé étrangère
$pdo->exec("ALTER TABLE pf_holidays ADD CONSTRAINT fk_holiday_vehicle FOREIGN KEY (vehicle_id) REFERENCES pf_vehicles(id) ON DELETE SET NULL");
echo "- ✅ {$family['name']} : Colonne vehicle_id ajoutée !
";
} catch (\PDOException $e) {
if ($e->getCode() == '42S21' || strpos($e->getMessage(), 'Duplicate column') !== false) {
echo "- ⏩ {$family['name']} : Déjà à jour.
";
} else {
echo "- ❌ {$family['name']} : Erreur - " . $e->getMessage() . "
";
}
}
}
echo "
🎉 Migration terminée !
";
} catch (Exception $e) {
die("Erreur fatale : " . $e->getMessage());
}
?>