Skip to content
Snippets Groups Projects
Commit 30e83a18 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Détermination des colonnes de la table source : correction d'un bug...

[FIX] Détermination des colonnes de la table source : correction d'un bug potentiel + amélioration de la remontée d'erreur.
parent 1b9d3153
Branches
Tags 0.1
No related merge requests found
Pipeline #24765 passed
......@@ -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
......
......@@ -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);
......
......@@ -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);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment