🚀 Lancement de la migration multi-bases...\n\n"; try { // 2. RĂ©cupĂ©rer toutes les bases de donnĂ©es qui commencent par "househub_f" $stmt = $pdo->query("SHOW DATABASES LIKE 'househub_f%'"); $databases = $stmt->fetchAll(PDO::FETCH_COLUMN); if (empty($databases)) { die("❌ Aucune base de donnĂ©es familiale trouvĂ©e (Format househub_f1, househub_f2...).\n"); } $successCount = 0; foreach ($databases as $dbName) { // SĂ©curitĂ© : on vĂ©rifie le format exact (househub_f suivi de chiffres) if (preg_match('/^househub_f\d+$/', $dbName)) { echo "⚙ Mise Ă  jour de la base : $dbName... "; // On bascule la connexion sur la base de la famille $pdo->exec("USE `$dbName`"); // 3. CrĂ©ation de la table $sql = "CREATE TABLE IF NOT EXISTS pf_holidays_attachments ( id INT AUTO_INCREMENT PRIMARY KEY, holiday_id INT NOT NULL, item_id INT DEFAULT NULL, file_name VARCHAR(255) NOT NULL, file_path VARCHAR(255) NOT NULL, uploaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, CONSTRAINT fk_holiday_attachment FOREIGN KEY (holiday_id) REFERENCES pf_holidays(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;"; $pdo->exec($sql); echo "✅ OK\n"; $successCount++; } } echo "\n🎉 Migration terminĂ©e avec succĂšs sur $successCount base(s) familiale(s) !"; } catch (PDOException $e) { die("\n❌ Erreur SQL pendant la migration : " . $e->getMessage() . ""); }