Commit fdaffa54 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

La colonne SOURCE_ID n'est plus traitée comme une colonne classique

parent aaf49e94
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -213,6 +213,7 @@ EOT;
with diff as (
    SELECT
        coalesce(s.$sourceCodeColumn, d.$sourceCodeColumn) $sourceCodeColumn,
        coalesce(s.source_id, d.source_id) source_id,

        case 
        when (s.$sourceCodeColumn IS NOT NULL AND d.$sourceCodeColumn IS NULL) then '$insert'
@@ -224,13 +225,11 @@ with diff as (

        $srcColumsSql,

        $destColumsSql,
        
        s.source_id
        $destColumsSql

    FROM $destinationTable d
    JOIN source src ON src.id = d.source_id AND src.importable = 1
    FULL OUTER JOIN $diffSourceTableName s ON s.$sourceCodeColumn = d.$sourceCodeColumn
    FULL OUTER JOIN $diffSourceTableName s ON s.source_id = d.source_id AND s.$sourceCodeColumn = d.$sourceCodeColumn
)
select * from diff
where operation is not null
@@ -393,6 +392,7 @@ EOT;
            $createdOnCol,
            $createdByCol,
            $sourceCodeColumn,
            'source_id',
        );
        if ($useSequenceForId) {
            array_unshift($destinationColumns,
@@ -408,6 +408,7 @@ EOT;
            $now,
            $createdByValue !== null ? $createdByValue : 'NULL',
            $sourceCodeColumn,
            'source_id'
        );
        if ($useSequenceForId) {
            $idExpr = $this->generateSQLForSequenceNextVal($idColumnSequence);
+2 −0
Original line number Diff line number Diff line
@@ -321,6 +321,8 @@ class FacadeService
                "Impossible de déterminer la liste des colonnes à partir des données sources car leur type est inconnu (ni array ni stdClass)");
        }

        $columns = array_diff($columns, ['source_id', 'SOURCE_ID']);
        
        return $columns;
    }