Loading CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ Changelog - [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 - [FIX] Import : correction du SQL généré en cas de valeur booléenne dans les données sources. - [FIX] Détermination des colonnes de la table source : correction d'un bug potentiel + amélioration de la remontée d'erreur. - Nouvelles commandes pour lister les imports ('list imports') et synchros ('list synchros'). - Synchro : spécification dans la table SOURCE (colonnes 'synchro_*_enabled') des opérations autorisées ou non lors de la synchro (màj bdd requise). Exemple : ne pas autoriser le 'delete' est utile lorsque les données sources sont obtenues de façon incrémentale Loading src/UnicaenDbImport/Service/Database/DatabaseService.php +5 −1 Original line number Diff line number Diff line Loading @@ -483,10 +483,14 @@ class DatabaseService extends AbstractDatabaseService */ public function fetchSourceTableColumnNames(): array { $selectSql = $this->codeGenerator->generateSQLForSelectSourceTableColumnsInformation($this->source); $sourceTableName = $this->source->getTable(); $selectSql = $this->codeGenerator->generateSQLForSelectSourceTableColumnsInformation($sourceTableName); try { $result = $this->queryExecutor->fetchAll($selectSql, $this->source->getConnection()); if (!$result) { throw DatabaseServiceException::error("Impossible de déterminer les colonnes de la table/vue source '$sourceTableName'"); } return array_map(fn ($row) => $row['column_name'], $result); } catch (Exception $e) { throw DatabaseServiceException::error("Erreur lors du fetch", $e); Loading src/UnicaenDbImport/Service/Facade/AbstractFacadeService.php +2 −1 Original line number Diff line number Diff line Loading @@ -235,7 +235,8 @@ abstract class AbstractFacadeService try { $columns = $this->databaseService->fetchSourceTableColumnNames(); } catch (DatabaseServiceException $e) { throw new Exception("Erreur rencontrée lors de l'obtention des colonnes de la table source", null, $e); throw new Exception( "Erreur rencontrée lors de l'obtention des colonnes de la table source : " . $e->getMessage(), null, $e); } } Loading Loading
CHANGELOG.md +1 −0 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ Changelog - [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 - [FIX] Import : correction du SQL généré en cas de valeur booléenne dans les données sources. - [FIX] Détermination des colonnes de la table source : correction d'un bug potentiel + amélioration de la remontée d'erreur. - Nouvelles commandes pour lister les imports ('list imports') et synchros ('list synchros'). - Synchro : spécification dans la table SOURCE (colonnes 'synchro_*_enabled') des opérations autorisées ou non lors de la synchro (màj bdd requise). Exemple : ne pas autoriser le 'delete' est utile lorsque les données sources sont obtenues de façon incrémentale Loading
src/UnicaenDbImport/Service/Database/DatabaseService.php +5 −1 Original line number Diff line number Diff line Loading @@ -483,10 +483,14 @@ class DatabaseService extends AbstractDatabaseService */ public function fetchSourceTableColumnNames(): array { $selectSql = $this->codeGenerator->generateSQLForSelectSourceTableColumnsInformation($this->source); $sourceTableName = $this->source->getTable(); $selectSql = $this->codeGenerator->generateSQLForSelectSourceTableColumnsInformation($sourceTableName); try { $result = $this->queryExecutor->fetchAll($selectSql, $this->source->getConnection()); if (!$result) { throw DatabaseServiceException::error("Impossible de déterminer les colonnes de la table/vue source '$sourceTableName'"); } return array_map(fn ($row) => $row['column_name'], $result); } catch (Exception $e) { throw DatabaseServiceException::error("Erreur lors du fetch", $e); Loading
src/UnicaenDbImport/Service/Facade/AbstractFacadeService.php +2 −1 Original line number Diff line number Diff line Loading @@ -235,7 +235,8 @@ abstract class AbstractFacadeService try { $columns = $this->databaseService->fetchSourceTableColumnNames(); } catch (DatabaseServiceException $e) { throw new Exception("Erreur rencontrée lors de l'obtention des colonnes de la table source", null, $e); throw new Exception( "Erreur rencontrée lors de l'obtention des colonnes de la table source : " . $e->getMessage(), null, $e); } } Loading