🚀 Migration : Ajout de l'ordre des catégories";
try {
// Connexion au serveur MySQL (sans spécifier de base de données particulière)
$pdo = new PDO("mysql:host=$host;charset=utf8mb4", $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 1. Trouver toutes les bases de données de la famille HouseHub
$stmt = $pdo->query("SHOW DATABASES LIKE 'househub_f%'");
$databases = $stmt->fetchAll(PDO::FETCH_COLUMN);
if (empty($databases)) {
echo "
❌ Aucune base de données correspondant à 'househub_f*' n'a été trouvée.
";
exit;
}
echo "🔍 " . count($databases) . " base(s) de données trouvée(s).
";
// 2. Boucler sur chaque base de données
foreach ($databases as $db) {
echo "
";
echo "
đź“‚ Traitement de la base : $db
";
// Sélectionner la base de données active
$pdo->exec("USE `$db`");
// Vérifier si la table pf_budget_categories existe dans cette DB
$tableExists = $pdo->query("SHOW TABLES LIKE 'pf_budget_categories'")->rowCount() > 0;
if ($tableExists) {
// Vérifier si la colonne sort_order existe déjà (sécurité)
$columnExists = $pdo->query("SHOW COLUMNS FROM pf_budget_categories LIKE 'sort_order'")->rowCount() > 0;
if (!$columnExists) {
// La colonne n'existe pas, on l'ajoute !
$pdo->exec("ALTER TABLE pf_budget_categories ADD sort_order INT DEFAULT 0");
echo "✅ Colonne 'sort_order' ajoutée avec succès !";
} else {
// La colonne est dĂ©jĂ lĂ
echo "ℹ️ La colonne 'sort_order' existe déjà (Ignoré).";
}
} else {
echo "⚠️ La table 'pf_budget_categories' n'existe pas ici.";
}
echo "";
}
echo "🎉 Migration terminée avec succès !
";
echo "Tu peux maintenant supprimer ce fichier par mesure de sécurité.
";
} catch (PDOException $e) {
echo "❌ Erreur fatale MySQL :
";
echo "" . $e->getMessage() . "
";
}
?>