Alterado no TMS Aurelius a unit: "Aurelius.Sql.AnsiSQLGenerator"
function TAnsiSQLGenerator.GetForeignKeyName(ForeignKey: TForeignKeyMetadata): string;
begin
Result := 'FK_';
if ForeignKey.FromTable.Schema <> '' then
Result := Result + ForeignKey.FromTable.Schema + '_';
Result := Result + ForeignKey.FromTable.Name + '_';
if ForeignKey.ToTable.Schema <> '' then
Result := Result + ForeignKey.ToTable.Schema + '_';
Result := Result + ForeignKey.ToTable.Name + '_' +
ConcatColumnNames(ForeignKey.FromColumns, '_');
// Original: Result := Copy(Result, 1, GetMaxConstraintNameLength);
// Novo, quando o numero de caracteres do nome for maior que o suportado pelo banco de dados, numera as FK :
if not (Length(Result) > GetMaxConstraintNameLength) then
Result := Copy(Result, 1, GetMaxConstraintNameLength)
else
Result := Format('%s%3.3d',[Copy(Result, 1, GetMaxConstraintNameLength-3),
ForeignKey.FromTable.ForeignKeys.Count]);
end;
Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.