diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/DefaultGeneratorStrategy.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/DefaultGeneratorStrategy.java index d12bbf2930..c5733fa77a 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/DefaultGeneratorStrategy.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/DefaultGeneratorStrategy.java @@ -41,9 +41,11 @@ import static java.util.Arrays.asList; // ... // ... // ... +// ... import static org.jooq.SQLDialect.MARIADB; // ... import static org.jooq.SQLDialect.MYSQL; +import static org.jooq.SQLDialect.POSTGRES; // ... // ... @@ -150,9 +152,9 @@ public class DefaultGeneratorStrategy extends AbstractGeneratorStrategy { - - - + // [#9758] And then also for foreign keys + else if (definition instanceof ForeignKeyDefinition && asList(POSTGRES).contains(definition.getDatabase().getDialect().family())) + return ((ForeignKeyDefinition) definition).getTable().getOutputName().toUpperCase() + "__" + definition.getOutputName().toUpperCase(); else return definition.getOutputName().toUpperCase(); diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/PostgresDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/PostgresDatabase.java index d092c8b6d7..e85490b62b 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/postgres/PostgresDatabase.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/postgres/PostgresDatabase.java @@ -327,11 +327,8 @@ public class PostgresDatabase extends AbstractDatabase { TableDefinition uniqueKeyTable = getTable(uniqueKeySchema, uniqueKeyTableName); if (foreignKeyTable != null && uniqueKeyTable != null) - - // [#986] Add the table name as a namespace prefix to the key - // name. In Postgres, foreign key names are only unique per table relations.addForeignKey( - foreignKeyTableName + "__" + foreignKey, + foreignKey, foreignKeyTable, foreignKeyTable.getColumn(foreignKeyColumn), uniqueKey,