Commit 41d90798 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] SQL d'interrogation de la vue différentielle : préfixages oubliés des colonnes de la vue.

parent 0dd85692
Loading
Loading
Loading
Loading
+1 −0
Changes for CHANGELOG.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ Changelog
- Nouveau filtre de valeur de colonne CallableColumnValueFilter.
- [FIX] Logs : ils étaient recherchés dans la connection orm_default alors qu'ils se trouvent dans la connection destination de l'import/synchro.
- [FIX] Ajouts de strtolower/strtoupper() faisant défaut.
- [FIX] SQL d'interrogation de la vue différentielle : préfixages oubliés des colonnes de la vue. 

7.3.2
-----
+12 −8
Changes for src/UnicaenDbImport/CodeGenerator/Helper/TableHelper.php: 12 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -36,16 +36,20 @@ abstract class TableHelper extends Helper
     * @param string $intermediateTable
     * @return string
     */
    public function generateSQLForIntermediateTableCreation(string $destinationTable, string $sourceCodeColumn, array $columns, string $intermediateTable): string
    public function generateSQLForIntermediateTableCreation(
        string $destinationTable,
        string $sourceCodeColumn,
        array $columns,
        string $intermediateTable): string
    {
        $createdByCol = $this->config->getHistoColumnAliasForCreatedBy();
        $createdOnCol = $this->config->getHistoColumnAliasForCreatedOn();

        $columns = array_merge(
        $columns = array_unique(array_merge(
            ['id', 'source_id', $sourceCodeColumn],
            [$createdByCol, $createdOnCol],
            $columns
        );
        ));
        $commaSeparatedColumnNames = implode(', ', $columns);

        return <<<EOT
@@ -112,21 +116,21 @@ EOT;
        $updatedColumsSql = implode(
            ',',
            array_map(function($col) {
                return sprintf('U_%s', $col);
                return sprintf('d.U_%s', $col);
            }, $columns)
        );

        $srcColumsSql = implode(
            ',' . PHP_EOL,
            array_map(function($col) {
                return sprintf('S_%s', $col);
                return sprintf('d.S_%s', $col);
            }, $columns)
        );

        $destColumsSql = implode(
            ',' . PHP_EOL,
            array_map(function($col) {
                return sprintf('D_%s', $col);
                return sprintf('d.D_%s', $col);
            }, $columns)
        );

@@ -138,9 +142,9 @@ EOT;
        $selects = [
            'd.source_id',
            'src.code as source_name',
            $sourceCodeColumn,
            "d.$sourceCodeColumn",
            'd.effectif',
            'operation',
            'd.operation',
            $updatedColumsSql,
            $srcColumsSql,
            $destColumsSql,