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

[FIX] Synchro : la colonne 'source_id' peut être présente dans la table/vue source.

parent 1ac56607
No related branches found
No related tags found
No related merge requests found
Pipeline #15979 passed
Changelog
=========
5.2.2
-----
- [FIX] Synchro : la colonne 'source_id' peut être présente dans la table/vue source.
5.2.1
-----
- [FIX] Dysfonctionnement total de la synchro avec table intermédiaire lorsque le 'code' de la source est spécifié dans la config
......
......@@ -342,6 +342,8 @@ EOT;
$diffViewName = $this->generateDiffViewName($destinationTable);
$now = $this->platform->getNowExpression();
$sourceIdExistsInColumns = in_array('source_id', $columns) || in_array('SOURCE_ID', $columns);
$useSequenceForId = true;
if ($idColumnSequence === false) {
// si false est spécifié comme nom de séquence pour la colonne 'id', le type de cette colonne devra être
......@@ -358,11 +360,15 @@ EOT;
// génération des noms de colonnes de la table destination pour l'INSERT.
$destinationColumns = $columns;
if (!$sourceIdExistsInColumns) {
array_unshift($destinationColumns,
'source_id',
);
}
array_unshift($destinationColumns,
$createdOnCol,
$createdByCol,
$sourceCodeColumn,
'source_id',
);
if ($useSequenceForId) {
array_unshift($destinationColumns,
......@@ -374,11 +380,15 @@ EOT;
$selectExpressions = array_map(function (string $columnName) {
return Synchro::V_DIFF_SRC_COLUMN_PREFIX . strtoupper($columnName);
}, $columns);
if (!$sourceIdExistsInColumns) {
array_unshift($destinationColumns,
'source_id',
);
}
array_unshift($selectExpressions,
$now,
$createdByValue !== null ? $createdByValue : 'NULL',
$sourceCodeColumn,
'source_id',
);
if ($useSequenceForId) {
$idExpr = $this->generateSQLForSequenceNextVal($idColumnSequence);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment