Fix invalid SQL code for dropping foreign key constraint in PostgreSQL mode. Closes #1247

This commit is contained in:
Ansgar Becker
2024-03-28 19:33:48 +01:00
parent 6434e2f3c2
commit fcca03acae
2 changed files with 11 additions and 4 deletions

View File

@@ -600,7 +600,7 @@ begin
// ALTER TABLE statement. Separate statements are required."
for i:=0 to FForeignKeys.Count-1 do begin
if FForeignKeys[i].Modified and (not FForeignKeys[i].Added) then
Specs.Add('DROP FOREIGN KEY '+Conn.QuoteIdent(FForeignKeys[i].OldKeyName));
Specs.Add(DBObject.Connection.GetSQLSpecifity(spForeignKeyDrop, [Conn.QuoteIdent(FForeignKeys[i].OldKeyName)]));
end;
FinishSpecs;
@@ -805,8 +805,9 @@ begin
Specs.Add('ADD '+FKeys[i].SQLCode);
end;
for i:=0 to FDeletedForeignKeys.Count-1 do
Specs.Add('DROP FOREIGN KEY '+Conn.QuoteIdent(FDeletedForeignKeys[i]));
for i:=0 to FDeletedForeignKeys.Count-1 do begin
Specs.Add(DBObject.Connection.GetSQLSpecifity(spForeignKeyDrop, [Conn.QuoteIdent(FDeletedForeignKeys[i])]));
end;
for i:=0 to FForeignKeys.Count-1 do begin
if FForeignKeys[i].Added or FForeignKeys[i].Modified then
Specs.Add('ADD '+FForeignKeys[i].SQLCode(True));