Skip to content

Commit 6c4883f

Browse files
JaBistDuNarrischJaBistDuNarrisch
authored andcommitted
Version 13 Postgre => Merge supported in 15+ => Downgrade to UPDATE...FROM
1 parent 689ea62 commit 6c4883f

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/Migrator/Providers/Impl/PostgreSQL/PostgreSQLTransformationProvider.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -851,14 +851,14 @@ public override void UpdateFromTableToTable(string tableSourceNotQuoted, string
851851
var tableNameSource = QuoteTableNameIfRequired(tableSourceNotQuoted);
852852
var tableNameTarget = QuoteTableNameIfRequired(tableTargetNotQuoted);
853853

854-
var conditionStrings = conditionColumnPairs.Select(x => $"t.{QuoteColumnNameIfRequired(x.ColumnNameTargetNotQuoted)} = s.{QuoteColumnNameIfRequired(x.ColumnNameSourceNotQuoted)}");
854+
var assignStrings = fromSourceToTargetColumnPairs.Select(x => $"{QuoteColumnNameIfRequired(x.ColumnNameTargetNotQuoted)} = {tableNameSource}.{QuoteColumnNameIfRequired(x.ColumnNameSourceNotQuoted)}").ToList();
855855

856-
var assignStrings = fromSourceToTargetColumnPairs.Select(x => $"{QuoteColumnNameIfRequired(x.ColumnNameTargetNotQuoted)} = s.{QuoteColumnNameIfRequired(x.ColumnNameSourceNotQuoted)}").ToList();
856+
var conditionStrings = conditionColumnPairs.Select(x => $"{tableNameSource}.{QuoteColumnNameIfRequired(x.ColumnNameSourceNotQuoted)} = {tableNameTarget}.{QuoteColumnNameIfRequired(x.ColumnNameTargetNotQuoted)}");
857857

858-
var conditionStringsJoined = string.Join(" AND ", conditionStrings);
859858
var assignStringsJoined = string.Join(", ", assignStrings);
859+
var conditionStringsJoined = string.Join(" AND ", conditionStrings);
860860

861-
var sql = $"MERGE INTO {tableNameTarget} t USING {tableNameSource} s ON ({conditionStringsJoined}) WHEN MATCHED THEN UPDATE SET {assignStringsJoined}";
861+
var sql = $"UPDATE {tableNameTarget} SET {assignStringsJoined} FROM {tableNameSource} WHERE {conditionStringsJoined}";
862862
ExecuteNonQuery(sql);
863863
}
864864

0 commit comments

Comments
 (0)