Sync tables statiques — mode soft (CON-333)

Aucun DELETE. On n’efface jamais info. Catalogues accès v2 (rôles / matrice / permissions) : manquants + corrections, et Retirer en trop si besoin — sauf rôle encore utilisé en accès promoteur.
Test complet (un environnement à la fois)
  1. Rafraîchir cette page (nouveau code déployé).
  2. Cliquer TOUT APPLIQUER sous la colonne voulue (commencer par Dev prod).
  3. Lire le message vert/rouge en haut : succès ou échec + détail table par table.
  4. Recharger : Manque=0 et Diff=0 partout = OK. « En trop » peut rester (normal, on n’efface pas).
  5. Lignes SAUTÉES (structure / table absente) = à corriger en Navicat, puis re-cliquer.

Source de vérité : dev préprod (). Comparaison vers dev prod, client préprod et client prod.

Données alignées Il en manque X Il y en a X en trop Contenu différent Structures non alignées Table absente / connexion
$tabEnv) { if (!empty($tabEnv['is_source'])) { continue; } ?> $tabEnv) { if (!empty($tabEnv['is_source'])) { continue; } $tabCmp = isset($tabRow['envs'][$strEnvId]) ? $tabRow['envs'][$strEnvId] : null; if (!$tabCmp) { continue; } $strClass = fxStaticSyncStatusClass($tabCmp['status']); $strLabel = fxStaticSyncStatusLabel($tabCmp['status'], $tabCmp); $intMissing = isset($tabCmp['missing_keys']) ? count($tabCmp['missing_keys']) : 0; $intExtra = isset($tabCmp['extra_keys']) ? count($tabCmp['extra_keys']) : 0; $intDiff = isset($tabCmp['diff_keys']) ? count($tabCmp['diff_keys']) : 0; $blnCanRemoveExtras = !empty($tabDef['allow_remove_extras']); $blnCanWrite = ($tabCmp['status'] !== 'no_connection' && $tabCmp['status'] !== 'schema_mismatch' && $tabCmp['status'] !== 'missing_table' && $tabCmp['status'] !== 'error'); ?>
Table Source


ligne(s)
doublon(s) clé en source
Cible · Source
Manque · Diff · En trop
isset($tabCmp['schema_missing_cols']) ? $tabCmp['schema_missing_cols'] : array(), 'extra_in_target' => isset($tabCmp['schema_extra_cols']) ? $tabCmp['schema_extra_cols'] : array(), ); $strSchemaDiff = fxStaticSyncFormatSchemaDiff($tabSchemaDiff); if ($strSchemaDiff !== '') { ?>
Détails
0) { ?>
0) { ?>
0) { ?>

Détails —

Manque · Contenu différent · En trop en cible Fermer

0) { ?>

En trop en cible () — explications

count($tabExtraSamples)) { ?>

Affichage limité à / .

0) { ?>

Manquants ()

0) { ?>

Contenu différent ()

Aucun écart à afficher.