Files
ms1inscription-v5/php/inc_fx_static_sync_config.php
stephan a8274dd640 Update key column references and enhance error handling in static synchronization functions
This commit modifies key column references in the `fxStaticSyncTableDefinitions` function to align with updated database schema identifiers. Additionally, it introduces a new utility function, `fxStaticSyncKeyColumnsValid`, to validate key columns before executing queries, improving error handling in the `fxStaticSyncFetchRowsByKey` and `fxStaticSyncLoadKeyedRows` functions. The changes aim to enhance the robustness of the synchronization process and provide clearer error feedback during data operations.
2026-07-06 15:34:20 -04:00

134 lines
4.4 KiB
PHP

<?php
/**
* Liste des tables statiques pour sync_static_db.php.
* Connexions BD : inc_settings.php uniquement ($arrConDatabasePreProd, Prod, Client*).
*/
/**
* Tables statiques / programmation — source de vérité : devinscription_preprod.
* Ajouter ici toute nouvelle table de référence à synchroniser.
*
* keys : clé métier (identifiant logique de la ligne)
* ignore_cols : colonnes exclues du hash de contenu (PK auto, timestamps)
*/
function fxStaticSyncTableDefinitions() {
return array(
array(
'table' => 'info',
'label' => 'Textes UI (info)',
'keys' => array('info_clef', 'info_langue', 'info_prg'),
'ignore_cols' => array('pk_info', 'info_creation', 'info_maj'),
),
array(
'table' => 'doc_mod',
'label' => 'Documentation — modules',
'keys' => array('doc_mod_clef', 'doc_mod_prg'),
'ignore_cols' => array('pk_doc_mod', 'doc_mod_creation', 'doc_mod_maj'),
),
array(
'table' => 'doc_page',
'label' => 'Documentation — pages',
'keys' => array('doc_page_clef', 'doc_langue', 'doc_prg'),
'ignore_cols' => array('pk_doc_page', 'doc_creation', 'doc_maj'),
),
array(
'table' => 'doc_anchor',
'label' => 'Documentation — ancres',
'keys' => array('doc_anchor_clef', 'doc_prg'),
'ignore_cols' => array('pk_doc_anchor', 'doc_creation'),
),
array(
'table' => 'inscriptions_eve_permissions',
'label' => 'Accès v2 — permissions',
'keys' => array('perm_key'),
'ignore_cols' => array(),
),
array(
'table' => 'inscriptions_eve_roles',
'label' => 'Accès v2 — rôles',
'keys' => array('role_code'),
'ignore_cols' => array('role_id', 'role_created_at', 'role_updated_at'),
),
array(
'table' => 'inscriptions_eve_role_permissions',
'label' => 'Accès v2 — matrice rôles',
'keys' => array('role_id', 'perm_key'),
'ignore_cols' => array(),
),
array(
'table' => 'inscriptions_pages',
'label' => 'Pages promoteur',
'keys' => array('pag_code'),
'ignore_cols' => array('pag_id', 'pag_maj'),
),
array(
'table' => 'inscriptions_pays',
'label' => 'Pays',
'keys' => array('pay_iso'),
'ignore_cols' => array('pay_id'),
),
array(
'table' => 'inscriptions_provinces',
'label' => 'Provinces',
'keys' => array('pro_iso'),
'ignore_cols' => array('pro_id'),
),
array(
'table' => 'modes_remboursements',
'label' => 'Modes remboursement',
'keys' => array('mr_id'),
'ignore_cols' => array(),
),
array(
'table' => 'types_remboursements',
'label' => 'Types remboursement',
'keys' => array('tr_id'),
'ignore_cols' => array(),
),
array(
'table' => 'adm_menus',
'label' => 'ADM — menus',
'keys' => array('men_id'),
'ignore_cols' => array(),
),
array(
'table' => 'adm_forms',
'label' => 'ADM — formulaires',
'keys' => array('for_id'),
'ignore_cols' => array(),
),
array(
'table' => 'adm_labels',
'label' => 'ADM — labels',
'keys' => array('lab_id'),
'ignore_cols' => array(),
),
array(
'table' => 'adm_messages',
'label' => 'ADM — messages',
'keys' => array('mes_id'),
'ignore_cols' => array(),
),
array(
'table' => 'config_query',
'label' => 'Config — requêtes',
'keys' => array('query_clef'),
'ignore_cols' => array('pk_query'),
),
array(
'table' => 'config_tableau',
'label' => 'Config — tableaux',
'keys' => array('clef'),
'ignore_cols' => array('id'),
),
array(
'table' => 'regles_niveau',
'label' => 'Règles niveau',
'keys' => array('reg_id'),
'ignore_cols' => array(),
),
);
}