Loading CHANGELOG.md +2 −0 Changes for CHANGELOG.md: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -9,11 +9,13 @@ Changelog - [FIX] AbstractColumnValueFilter::setParams() : les paramètres spécifiés s'ajoutent aux existants et ne les remplacent plus. - [FIX] Vue du différentiel d'une synchro : suppression du warning PHP 'Undefined array key'. - [FIX] Vue du différentiel d'une synchro : prise en compte du paramètre de config 'source_code_column'. - [FIX] Correction du SQL générant V_DIFF_* pour le cas d'une synchro depuis une source non-importable - Synchro : possibilité de spécifier dans la config les seules opérations autorisées par une synchro. Exemple : ne pas autoriser le 'delete' est utile lorsque les données sources sont obtenues de façon incrémentale au fil du temps, et non pas de façon exhaustive en une seule fois. - Suppression de 2 lignes intruses dans la config - DatabaseService::truncateDestinationTable() : on vérifie désormais que les données contiennent un source_id, sinon le vidage partiel est inopérant. - Préparation de la suppression du paramètre de config 'intermediate_table_auto_drop' 6.0.2 ----- Loading README.md +1 −4 Changes for README.md: 1 added line, 4 removed lines. Original line number Diff line number Diff line Loading @@ -531,7 +531,6 @@ return [ 'source_code_column' => 'CODE', 'intermediate_table' => 'NOM_QUE_JE_FORCE', // sinon ce sera 'TMP_UTILISATEUR' 'intermediate_table_auto_drop' => true, // supprime la table intermédiaire si elle existe déjà ], ], Loading @@ -547,7 +546,7 @@ php public/index.php run synchro --name "SYNCHRO_BDD_EXTERNE" Une synchronisation de données à partir d'une autre base de données fait en réalité appel successivement au mécanisme d'import et au mécanisme de synchronisation (voir [Fonctionnement](#fonctionnement)) ; d'où la présence des paramètres facultatifs `intermediate_table` et `intermediate_table_auto_drop`. des paramètres facultatifs `intermediate_table`. Fonctionne également en spécifiant une `'table'` au lieu d'un `'select'` dans la source. Loading @@ -573,8 +572,6 @@ return [ 'table' => 'REGION', 'connection' => 'orm_A', 'source_code_column' => 'CODE', 'intermediate_table_auto_drop' => true, ], ], ], Loading config/unicaen-db-import.global.php.dist +0 −5 Changes for config/unicaen-db-import.global.php.dist: 0 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -238,11 +238,6 @@ return [ // En l'absence de ce forçage, le nom de la table intermédiaire sera celui de la table destination // préfixé par "tmp_". 'intermediate_table' => 'tmp_pays', // Suppression automatique des éventuelles tables intermédiaires "tmp_" au début de l'import. // Si la suppression automatique est désactivée, l'existence d'une table intermédiaire au démarrage // d'un import fera échouer l'import. 'intermediate_table_auto_drop' => true, ], ], ], Loading src/UnicaenDbImport/CodeGenerator/Helper/TableHelper.php +1 −1 Changes for src/UnicaenDbImport/CodeGenerator/Helper/TableHelper.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -268,8 +268,8 @@ with diff as ( $destColumsSql FROM $destinationTable d JOIN source src ON src.id = d.source_id AND src.importable = $requiredValueForImportable FULL OUTER JOIN $diffSourceTableName s ON s.source_id = d.source_id AND s.$sourceCodeColumn = d.$sourceCodeColumn JOIN source src ON src.id = coalesce(s.source_id, d.source_id) AND src.importable = $requiredValueForImportable ) select * from diff where operation is not null Loading src/UnicaenDbImport/Domain/Destination.php +4 −0 Changes for src/UnicaenDbImport/Domain/Destination.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -169,6 +169,10 @@ class Destination implements DestinationInterface return static::INTERMEDIATE_TABLE_NAME_PREFIX . $this->getTable(); } /** * @deprecated Suppression de intermediate_table_auto_drop à venir * TODO : à supprimer */ public function getIntermediateTableAutoDrop(): bool { return (bool) $this->config->get('intermediate_table_auto_drop', false); Loading Loading
CHANGELOG.md +2 −0 Changes for CHANGELOG.md: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -9,11 +9,13 @@ Changelog - [FIX] AbstractColumnValueFilter::setParams() : les paramètres spécifiés s'ajoutent aux existants et ne les remplacent plus. - [FIX] Vue du différentiel d'une synchro : suppression du warning PHP 'Undefined array key'. - [FIX] Vue du différentiel d'une synchro : prise en compte du paramètre de config 'source_code_column'. - [FIX] Correction du SQL générant V_DIFF_* pour le cas d'une synchro depuis une source non-importable - Synchro : possibilité de spécifier dans la config les seules opérations autorisées par une synchro. Exemple : ne pas autoriser le 'delete' est utile lorsque les données sources sont obtenues de façon incrémentale au fil du temps, et non pas de façon exhaustive en une seule fois. - Suppression de 2 lignes intruses dans la config - DatabaseService::truncateDestinationTable() : on vérifie désormais que les données contiennent un source_id, sinon le vidage partiel est inopérant. - Préparation de la suppression du paramètre de config 'intermediate_table_auto_drop' 6.0.2 ----- Loading
README.md +1 −4 Changes for README.md: 1 added line, 4 removed lines. Original line number Diff line number Diff line Loading @@ -531,7 +531,6 @@ return [ 'source_code_column' => 'CODE', 'intermediate_table' => 'NOM_QUE_JE_FORCE', // sinon ce sera 'TMP_UTILISATEUR' 'intermediate_table_auto_drop' => true, // supprime la table intermédiaire si elle existe déjà ], ], Loading @@ -547,7 +546,7 @@ php public/index.php run synchro --name "SYNCHRO_BDD_EXTERNE" Une synchronisation de données à partir d'une autre base de données fait en réalité appel successivement au mécanisme d'import et au mécanisme de synchronisation (voir [Fonctionnement](#fonctionnement)) ; d'où la présence des paramètres facultatifs `intermediate_table` et `intermediate_table_auto_drop`. des paramètres facultatifs `intermediate_table`. Fonctionne également en spécifiant une `'table'` au lieu d'un `'select'` dans la source. Loading @@ -573,8 +572,6 @@ return [ 'table' => 'REGION', 'connection' => 'orm_A', 'source_code_column' => 'CODE', 'intermediate_table_auto_drop' => true, ], ], ], Loading
config/unicaen-db-import.global.php.dist +0 −5 Changes for config/unicaen-db-import.global.php.dist: 0 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -238,11 +238,6 @@ return [ // En l'absence de ce forçage, le nom de la table intermédiaire sera celui de la table destination // préfixé par "tmp_". 'intermediate_table' => 'tmp_pays', // Suppression automatique des éventuelles tables intermédiaires "tmp_" au début de l'import. // Si la suppression automatique est désactivée, l'existence d'une table intermédiaire au démarrage // d'un import fera échouer l'import. 'intermediate_table_auto_drop' => true, ], ], ], Loading
src/UnicaenDbImport/CodeGenerator/Helper/TableHelper.php +1 −1 Changes for src/UnicaenDbImport/CodeGenerator/Helper/TableHelper.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -268,8 +268,8 @@ with diff as ( $destColumsSql FROM $destinationTable d JOIN source src ON src.id = d.source_id AND src.importable = $requiredValueForImportable FULL OUTER JOIN $diffSourceTableName s ON s.source_id = d.source_id AND s.$sourceCodeColumn = d.$sourceCodeColumn JOIN source src ON src.id = coalesce(s.source_id, d.source_id) AND src.importable = $requiredValueForImportable ) select * from diff where operation is not null Loading
src/UnicaenDbImport/Domain/Destination.php +4 −0 Changes for src/UnicaenDbImport/Domain/Destination.php: 4 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -169,6 +169,10 @@ class Destination implements DestinationInterface return static::INTERMEDIATE_TABLE_NAME_PREFIX . $this->getTable(); } /** * @deprecated Suppression de intermediate_table_auto_drop à venir * TODO : à supprimer */ public function getIntermediateTableAutoDrop(): bool { return (bool) $this->config->get('intermediate_table_auto_drop', false); Loading