From 3cb58547862a3f681fd4d05f77615f51dcdb6de1 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Wed, 2 Dec 2015 07:57:27 +1300 Subject: [PATCH] #475 - Unique constraint name not unique when using @Draftable --- .../ebean/dbmigration/model/build/ModelBuildContext.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/avaje/ebean/dbmigration/model/build/ModelBuildContext.java b/src/main/java/com/avaje/ebean/dbmigration/model/build/ModelBuildContext.java index a20e84f71..0d2822024 100644 --- a/src/main/java/com/avaje/ebean/dbmigration/model/build/ModelBuildContext.java +++ b/src/main/java/com/avaje/ebean/dbmigration/model/build/ModelBuildContext.java @@ -141,6 +141,7 @@ public class ModelBuildContext { int fkCount = 0; int ixCount = 0; + int uqCount = 0; Collection cols = draftTable.getColumns().values(); for (MColumn col: cols) { if (col.getForeignKeyName() != null) { @@ -152,6 +153,13 @@ public class ModelBuildContext { String[] indexCols = {col.getName()}; col.setForeignKeyIndex(foreignKeyIndexName(draftTable.getName(), indexCols, ++ixCount)); } + // adjust the unique constraint names + if (col.getUnique() != null){ + col.setUnique(uniqueConstraintName(draftTable.getName(), col.getName(), ++uqCount)); + } + if (col.getUniqueOneToOne() != null){ + col.setUniqueOneToOne(uniqueConstraintName(draftTable.getName(), col.getName(), ++uqCount)); + } } addTable(draftTable);