🚀 Début de la migration Globale ..."; // ========================================== // 0. MISE À JOUR DE LA META DB // ========================================== echo "

Mise Ă  jour Meta DB (househub_meta)

"; // ========================================== // MIGRATIONS PAR FAMILLE // ========================================== $stmt = $meta_pdo->query("SELECT id, name, db_name FROM families WHERE db_name != ''"); $families = $stmt->fetchAll(); $host = getenv('DB_HOST') ?: 'househub-db'; $user = getenv('DB_USER') ?: 'househub'; $pass = getenv('DB_PASS') ?: 'changeme'; foreach ($families as $f) { $db_name = $f['db_name']; $family_id = $f['id']; echo "

Mise Ă  jour de {$f['name']} ($db_name)

"; // ========================================== // 8. SEPARATION CIBLE BUDGET / DESTINATION VIREMENT // ========================================== echo "
  • Table pf_alloc_categories (Fix Collision) : "; try { $fam_pdo->exec("ALTER TABLE pf_alloc_categories ADD COLUMN transfer_dest VARCHAR(50) DEFAULT NULL AFTER target"); echo "Succès ! Colonne 'transfer_dest' ajoutĂ©e pour prĂ©server vos objectifs chiffrĂ©s.
  • "; } catch (\PDOException $e) { echo "La colonne transfer_dest existe dĂ©jĂ ."; } // ========================================== // 9. TRANSFERT DES DONNÉES (Cible -> Destination) // ========================================== echo "
  • Table pf_alloc_categories (RĂ©cupĂ©ration des donnĂ©es) : "; try { $updated1 = $fam_pdo->exec("UPDATE pf_alloc_categories SET transfer_dest = target, target = '0' WHERE target LIKE 'vers %'"); $updated2 = $fam_pdo->exec("UPDATE pf_alloc_categories SET transfer_dest = 'SYSTEM', target = '0' WHERE target = 'SYSTEM'"); $fam_pdo->exec("UPDATE pf_alloc_categories SET target = '0' WHERE target NOT REGEXP '^[0-9]+(\.[0-9]+)?$'"); echo "" . ($updated1 + $updated2) . " destinations rĂ©cupĂ©rĂ©es et dĂ©placĂ©es.
  • "; $fam_pdo->exec("ALTER TABLE pf_alloc_categories MODIFY target DECIMAL(10,2) DEFAULT 0.00"); echo "
  • Colonne 'target' re-sĂ©curisĂ©e en format monĂ©taire DECIMAL(10,2).
  • "; } catch (\PDOException $e) { echo "Erreur : " . $e->getMessage() . ""; } } echo "

    🎉 Migration terminée avec succès !

    "; ?>