diff --git a/src/main/java/io/ebean/dbmigration/ddlgeneration/platform/BaseTableDdl.java b/src/main/java/io/ebean/dbmigration/ddlgeneration/platform/BaseTableDdl.java index 7c7970948..ab14dbdd7 100644 --- a/src/main/java/io/ebean/dbmigration/ddlgeneration/platform/BaseTableDdl.java +++ b/src/main/java/io/ebean/dbmigration/ddlgeneration/platform/BaseTableDdl.java @@ -843,6 +843,7 @@ public class BaseTableDdl implements TableDdl { buffer.append(" not null"); } if (hasValue(column.getCheckConstraint())) { + buffer.append(" constraint ").append(column.getCheckConstraintName()); buffer.append(" ").append(column.getCheckConstraint()); } } diff --git a/src/test/java/io/ebean/dbmigration/ddlgeneration/BaseDdlHandlerTest.java b/src/test/java/io/ebean/dbmigration/ddlgeneration/BaseDdlHandlerTest.java index 5bb490a4e..f8aa0132f 100644 --- a/src/test/java/io/ebean/dbmigration/ddlgeneration/BaseDdlHandlerTest.java +++ b/src/test/java/io/ebean/dbmigration/ddlgeneration/BaseDdlHandlerTest.java @@ -43,6 +43,14 @@ public class BaseDdlHandlerTest extends BaseTestCase { assertThat(write.apply().getBuffer()).isEqualTo("alter table foo add column added_to_foo varchar(20);\n\n"); } + @Test + public void addColumn_withCheckConstraint() throws Exception { + + DdlWrite write = new DdlWrite(); + h2Handler().generate(write, Helper.getAlterTableAddColumnWithCheckConstraint()); + assertThat(write.apply().getBuffer()).isEqualTo("alter table foo add column status integer constraint ck_ordering_status check ( status in (0,1));\n\n"); + } + /** * Test the functionality of the Ebean {@literal @}DbArray extension during DDL generation. */ diff --git a/src/test/java/io/ebean/dbmigration/ddlgeneration/Helper.java b/src/test/java/io/ebean/dbmigration/ddlgeneration/Helper.java index decb0fc2a..27be79813 100644 --- a/src/test/java/io/ebean/dbmigration/ddlgeneration/Helper.java +++ b/src/test/java/io/ebean/dbmigration/ddlgeneration/Helper.java @@ -71,6 +71,10 @@ public class Helper { return (AddColumn) alterTableChangeSetChildren.get(4); } + public static AddColumn getAlterTableAddColumnWithCheckConstraint() { + return (AddColumn) alterTableChangeSetChildren.get(5); + } + public static DropColumn getDropColumn() { return (DropColumn) changeSetChildren.get(2); } diff --git a/src/test/resources/container/test-alter-table.xml b/src/test/resources/container/test-alter-table.xml index 5e8cb819b..cb1053e7f 100644 --- a/src/test/resources/container/test-alter-table.xml +++ b/src/test/resources/container/test-alter-table.xml @@ -24,6 +24,10 @@ + + + +