diff --git a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/BaseDdlHandlerTest.java b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/BaseDdlHandlerTest.java index ef1bd4081..b81b8d5d1 100644 --- a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/BaseDdlHandlerTest.java +++ b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/BaseDdlHandlerTest.java @@ -19,7 +19,7 @@ import static org.assertj.core.api.Assertions.assertThat; public class BaseDdlHandlerTest extends BaseTestCase { private static boolean useV1Syntax = Boolean.getBoolean("ebean.h2.useV1Syntax"); - + private final DatabaseConfig serverConfig = new DatabaseConfig(); private DdlHandler handler(DatabasePlatform platform) { @@ -47,15 +47,15 @@ public class BaseDdlHandlerTest extends BaseTestCase { DdlWrite writer = new DdlWrite(); h2Handler().generate(writer, Helper.getAddColumn()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column added_to_foo varchar(20);\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add column added_to_foo varchar(20);\n"); writer = new DdlWrite(); sqlserverHandler().generate(writer, Helper.getAddColumn()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add added_to_foo nvarchar(20);\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add added_to_foo nvarchar(20);\n"); writer = new DdlWrite(); hanaHandler().generate(writer, Helper.getAddColumn()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add ( added_to_foo nvarchar(20));\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add (added_to_foo nvarchar(20));\n"); } @Test @@ -63,18 +63,17 @@ public class BaseDdlHandlerTest extends BaseTestCase { DdlWrite writer = new DdlWrite(); h2Handler().generate(writer, Helper.getAlterTableAddColumnWithCheckConstraint()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column status integer;\n" - + "alter table foo add constraint ck_ordering_status check ( status in (0,1));\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add column status integer;\n" + + "alter table foo add constraint ck_ordering_status check ( status in (0,1));\n"); writer = new DdlWrite(); hanaHandler().generate(writer, Helper.getAlterTableAddColumnWithCheckConstraint()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add ( status integer);\n" - + "alter table foo add constraint ck_ordering_status check ( status in (0,1));\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add (status integer);\n" + + "alter table foo add constraint ck_ordering_status check ( status in (0,1));\n"); } /** - * Test the functionality of the Ebean {@literal @}DbArray extension during DDL - * generation. + * Test the functionality of the Ebean {@literal @}DbArray extension during DDL generation. */ @Test public void addColumn_dbarray() throws Exception { @@ -84,20 +83,20 @@ public class BaseDdlHandlerTest extends BaseTestCase { DdlHandler postgresHandler = postgresHandler(); postgresHandler.generate(writer, Helper.getAlterTableAddDbArrayColumn()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_added_to_foo varchar[];\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_added_to_foo varchar[];\n"); writer = new DdlWrite(); DdlHandler sqlserverHandler = sqlserverHandler(); sqlserverHandler.generate(writer, Helper.getAlterTableAddDbArrayColumn()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add dbarray_added_to_foo varchar(1000);\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add dbarray_added_to_foo varchar(1000);\n"); writer = new DdlWrite(); DdlHandler hanaHandler = hanaHandler(); hanaHandler.generate(writer, Helper.getAlterTableAddDbArrayColumn()); - assertThat(writer.apply().getBuffer()) - .isEqualTo("alter table foo add ( dbarray_added_to_foo nvarchar(255) array);\n\n"); + assertThat(writer.toString()) + .isEqualTo("alter table foo add (dbarray_added_to_foo nvarchar(255) array);\n"); } @Test @@ -106,24 +105,24 @@ public class BaseDdlHandlerTest extends BaseTestCase { DdlWrite writer = new DdlWrite(); postgresHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_ninety varchar[];\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_ninety varchar[];\n"); writer = new DdlWrite(); h2Handler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength()); if (useV1Syntax) { - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_ninety array;\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_ninety array;\n"); } else { - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_ninety varchar array;\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_ninety varchar array;\n"); } writer = new DdlWrite(); sqlserverHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add dbarray_ninety varchar(90);\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add dbarray_ninety varchar(90);\n"); writer = new DdlWrite(); hanaHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength()); - assertThat(writer.apply().getBuffer()) - .isEqualTo("alter table foo add ( dbarray_ninety nvarchar(255) array(90));\n\n"); + assertThat(writer.toString()) + .isEqualTo("alter table foo add (dbarray_ninety nvarchar(255) array(90));\n"); } @Test @@ -131,31 +130,31 @@ public class BaseDdlHandlerTest extends BaseTestCase { DdlWrite writer = new DdlWrite(); postgresHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_integer integer[];\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_integer integer[];\n"); writer = new DdlWrite(); h2Handler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength()); if (useV1Syntax) { - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_integer array;\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_integer array;\n"); } else { - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_integer integer array;\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_integer integer array;\n"); } writer = new DdlWrite(); sqlserverHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add dbarray_integer varchar(90);\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add dbarray_integer varchar(90);\n"); writer = new DdlWrite(); sqlserverHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnInteger()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add dbarray_integer varchar(1000);\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add dbarray_integer varchar(1000);\n"); writer = new DdlWrite(); hanaHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add ( dbarray_integer integer array(90));\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add (dbarray_integer integer array(90));\n"); writer = new DdlWrite(); hanaHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnInteger()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add ( dbarray_integer integer array);\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo add (dbarray_integer integer array);\n"); } @Test @@ -166,12 +165,12 @@ public class BaseDdlHandlerTest extends BaseTestCase { DdlHandler handler = h2Handler(); handler.generate(writer, Helper.getAlterTableAddColumn()); - String buffer = writer.apply().getBuffer(); + String buffer = writer.toString(); assertThat(buffer).contains("alter table foo add column some_id integer;"); String fkBuffer = writer.applyForeignKeys().getBuffer(); assertThat(fkBuffer).contains( - "alter table foo add constraint fk_foo_some_id foreign key (some_id) references bar (id) on delete restrict on update restrict;"); + "alter table foo add constraint fk_foo_some_id foreign key (some_id) references bar (id) on delete restrict on update restrict;"); assertThat(fkBuffer).contains("create index idx_foo_some_id on foo (some_id);"); assertThat(writer.dropAll().getBuffer()).isEqualTo(""); } @@ -184,7 +183,7 @@ public class BaseDdlHandlerTest extends BaseTestCase { handler.generate(writer, Helper.getDropColumn()); - assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo drop column col2;\n\n"); + assertThat(writer.toString()).isEqualTo("alter table foo drop column col2;\n"); assertThat(writer.dropAll().getBuffer()).isEqualTo(""); writer = new DdlWrite(); @@ -192,7 +191,7 @@ public class BaseDdlHandlerTest extends BaseTestCase { hanaHandler.generate(writer, Helper.getDropColumn()); - assertThat(writer.apply().getBuffer()).isEqualTo("CALL usp_ebean_drop_column('foo', 'col2');\n\n"); + assertThat(writer.toString()).isEqualTo("CALL usp_ebean_drop_column('foo', 'col2');\n"); assertThat(writer.dropAll().getBuffer()).isEqualTo(""); } @@ -204,9 +203,9 @@ public class BaseDdlHandlerTest extends BaseTestCase { handler.generate(writer, Helper.getCreateTable()); - String createTableDDL = Helper.asText(this, "/assert/create-table.txt"); + String createTableDDL = Helper.asText(this, "/assert/drop-create-table.txt"); - assertThat(writer.apply().getBuffer()).isEqualTo(createTableDDL); + assertThat(writer.toString()).isEqualTo(createTableDDL); assertThat(writer.dropAll().getBuffer().trim()).isEqualTo("drop table if exists foo;"); writer = new DdlWrite(); @@ -214,9 +213,9 @@ public class BaseDdlHandlerTest extends BaseTestCase { hanaHandler.generate(writer, Helper.getCreateTable()); - String createColumnTableDDL = Helper.asText(this, "/assert/create-column-table.txt"); + String createColumnTableDDL = Helper.asText(this, "/assert/drop-create-column-table.txt"); - assertThat(writer.apply().getBuffer()).isEqualTo(createColumnTableDDL); + assertThat(writer.toString()).isEqualTo(createColumnTableDDL); assertThat(writer.dropAll().getBuffer().trim()).isEqualTo("drop table foo cascade;"); } @@ -230,9 +229,12 @@ public class BaseDdlHandlerTest extends BaseTestCase { String apply = Helper.asText(this, "/assert/BaseDdlHandlerTest/baseApply.sql"); String rollbackLast = Helper.asText(this, "/assert/BaseDdlHandlerTest/baseDropAll.sql"); - - assertThat(writer.apply().getBuffer()).isEqualTo(apply); - assertThat(writer.dropAll().getBuffer()).isEqualTo(rollbackLast); + StringBuilder sb = new StringBuilder(); + writer.writeApply(sb); + assertThat(sb.toString()).isEqualTo(apply); + sb = new StringBuilder(); + writer.writeDropAll(sb); + assertThat(sb.toString()).isEqualTo(rollbackLast); } @Disabled @@ -251,7 +253,7 @@ public class BaseDdlHandlerTest extends BaseTestCase { String apply = Helper.asText(this, "/assert/changeset-apply.txt"); String rollbackLast = Helper.asText(this, "/assert/changeset-dropAll.txt"); - assertThat(writer.apply().getBuffer()).isEqualTo(apply); + assertThat(writer.toString()).isEqualTo(apply); assertThat(writer.dropAll().getBuffer()).isEqualTo(rollbackLast); } @@ -272,7 +274,7 @@ public class BaseDdlHandlerTest extends BaseTestCase { String rollbackFirst = Helper.asText(this, "/assert/changeset-pg-rollbackFirst.sql"); String rollbackLast = Helper.asText(this, "/assert/changeset-pg-rollbackLast.sql"); - assertThat(writer.apply().getBuffer()).isEqualTo(apply); + assertThat(writer.toString()).isEqualTo(apply); assertThat(writer.applyForeignKeys().getBuffer()).isEqualTo(applyLast); assertThat(writer.dropAllForeignKeys().getBuffer()).isEqualTo(rollbackFirst); assertThat(writer.dropAll().getBuffer()).isEqualTo(rollbackLast); diff --git a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdlTest.java b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdlTest.java index 58e328a64..0c8f794b0 100644 --- a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdlTest.java +++ b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdlTest.java @@ -39,7 +39,7 @@ public class BaseTableDdlTest { ddlGen.generate(writer, alterColumn); - String ddl = writer.apply().getBuffer(); + String ddl = writer.toString(); assertThat(ddl).contains("alter table mytab drop constraint if exists ck_mytab_acol"); assertThat(ddl).contains("alter table mytab add constraint ck_mytab_acol check (acol in ('A','B'))"); } @@ -57,7 +57,7 @@ public class BaseTableDdlTest { ddlGen.alterTableAddColumn(writer, "mytable", column, false, false); - String ddl = writer.apply().getBuffer(); + String ddl = writer.toString(); assertThat(ddl).contains("alter table mytable add col_name varchar2(20)"); } @@ -74,7 +74,7 @@ public class BaseTableDdlTest { ddlGen.alterTableAddColumn(writer, "mytable", column, false, false); - String ddl = writer.apply().getBuffer(); + String ddl = writer.toString(); assertThat(ddl).contains("alter table mytable add column col_name String"); } @@ -92,7 +92,7 @@ public class BaseTableDdlTest { ddlGen.generate(writer, alterColumn); - String ddl = writer.apply().getBuffer(); + String ddl = writer.applyPostAlter().getBuffer(); assertThat(ddl).contains("comment on column mytab.acol is 'my comment'"); } @@ -106,10 +106,9 @@ public class BaseTableDdlTest { column.setType("int"); ddl.alterTableAddColumn(writer, "my_table", column, false, false); - assertEquals( - "alter table my_table add column my_column int;\n" + - "comment on column my_table.my_column is 'some comment';\n", - writer.apply().getBuffer()); + assertEquals("alter table my_table add column my_column int;\n" + + "comment on column my_table.my_column is 'some comment';\n", + writer.toString()); } @Test @@ -125,7 +124,7 @@ public class BaseTableDdlTest { ddlGen.generate(writer, addTableComment); - String ddl = writer.apply().getBuffer(); + String ddl = writer.applyPostAlter().getBuffer(); assertThat(ddl).contains("comment on table mytab is 'my comment'"); } @@ -142,7 +141,7 @@ public class BaseTableDdlTest { ddlGen.generate(writer, addTableComment); - String ddl = writer.apply().getBuffer(); + String ddl = writer.applyPostAlter().getBuffer(); assertThat(ddl).contains("alter table mytab comment = 'my comment'"); } diff --git a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaDdlTest.java b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaDdlTest.java index 4eb4e91f9..272428d28 100644 --- a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaDdlTest.java +++ b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaDdlTest.java @@ -14,7 +14,7 @@ public class HanaDdlTest { HanaColumnStoreDdl ddl = new HanaColumnStoreDdl(new HanaPlatform()); DdlWrite writer = new DdlWrite(); ddl.alterTableDropColumn(writer, "my_table", "my_column"); - assertEquals("CALL usp_ebean_drop_column('my_table', 'my_column');\n", writer.apply().getBuffer()); + assertEquals("CALL usp_ebean_drop_column('my_table', 'my_column');\n", writer.toString()); } @Test @@ -34,6 +34,7 @@ public class HanaDdlTest { column.setHistoryExclude(Boolean.TRUE); column.setIdentity(Boolean.TRUE); ddl.alterTableAddColumn(writer, "my_table", column, false, "1"); - assertEquals("alter table my_table add ( my_column int default 1 not null);\nalter table my_table add constraint check_constraint CHECK(my_column > 0);\n", writer.apply().getBuffer()); + assertEquals("alter table my_table add (my_column int default 1 not null);\nalter table my_table add constraint check_constraint CHECK(my_column > 0);\n", + writer.toString()); } } diff --git a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl_AlterColumnTest.java b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl_AlterColumnTest.java index 67a39f011..28109f0eb 100644 --- a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl_AlterColumnTest.java +++ b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl_AlterColumnTest.java @@ -106,7 +106,8 @@ public class PlatformDdl_AlterColumnTest { + "alter table mytab alter column acol set not null;\n"); sql = alterColumn(pgDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter column acol type varchar(50) using acol::varchar(50);\n" + softly.assertThat(sql).isEqualTo("-- apply changes\n" + + "alter table mytab alter column acol type varchar(50) using acol::varchar(50);\n" + "alter table mytab alter column acol set default 'hi';\n" + "alter table mytab alter column acol set not null;\n"); @@ -116,15 +117,17 @@ public class PlatformDdl_AlterColumnTest { + "alter table mytab modify acol not null;\n"); sql = alterColumn(mysqlDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab modify acol varchar(50) not null default 'hi';\n"); + softly.assertThat(sql).isEqualTo("-- apply changes\n" + + "alter table mytab modify acol varchar(50) not null default 'hi';\n"); sql = alterColumn(sqlServerDdl, alter); - softly.assertThat(sql).isEqualTo("EXEC usp_ebean_drop_default_constraint mytab, acol;\n" + softly.assertThat(sql).isEqualTo("-- apply changes\n" + + "EXEC usp_ebean_drop_default_constraint mytab, acol;\n" + "alter table mytab alter column acol nvarchar(50) not null;\n" + "alter table mytab add default 'hi' for acol;\n"); sql = alterColumn(hanaDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(50) default 'hi' not null);\n"); + softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(50) default 'hi' not null);\n"); sql = alterColumn(db2Ddl, alter); softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set data type varchar(50);\n" @@ -150,14 +153,16 @@ public class PlatformDdl_AlterColumnTest { + "alter table mytab modify acol null;\n"); sql = alterColumn(mysqlDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab modify acol varchar(5);\n"); + softly.assertThat(sql).isEqualTo("-- apply changes\n" + + "alter table mytab modify acol varchar(5);\n"); sql = alterColumn(sqlServerDdl, alter); - softly.assertThat(sql).isEqualTo("EXEC usp_ebean_drop_default_constraint mytab, acol;\n" + softly.assertThat(sql).isEqualTo("-- apply changes\n" + + "EXEC usp_ebean_drop_default_constraint mytab, acol;\n" + "alter table mytab alter column acol nvarchar(5);\n"); sql = alterColumn(hanaDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(5) default null);\n"); + softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(5) default null);\n"); sql = alterColumn(db2Ddl, alter); softly.assertThat(sql).isEqualTo("alter table mytab alter column acol drop default;\n" @@ -178,38 +183,38 @@ public class PlatformDdl_AlterColumnTest { softly.assertThat(sql).isEqualTo("alter table mytab alter column acol varchar(20);\n"); sql = alterColumn(pgDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter column acol type varchar(20) using acol::varchar(20);\n"); + softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab alter column acol type varchar(20) using acol::varchar(20);\n"); sql = alterColumn(oraDdl, alter); softly.assertThat(sql).isEqualTo("alter table mytab modify acol varchar2(20);\n"); sql = alterColumn(mysqlDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab modify acol varchar(20);\n"); + softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab modify acol varchar(20);\n"); sql = alterColumn(sqlServerDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter column acol nvarchar(20);\n"); + softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab alter column acol nvarchar(20);\n"); sql = alterColumn(hanaDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(20));\n"); + softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(20));\n"); sql = alterColumn(db2Ddl, alter); softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set data type varchar(20);\n"); alter.setType("bigint"); sql = alterColumn(pgDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter column acol type bigint using acol::bigint;\n"); + softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab alter column acol type bigint using acol::bigint;\n"); alter.setCurrentType("bigint"); alter.setType("integer"); sql = alterColumn(hanaDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol decimal );\n" - + "alter table mytab alter ( acol integer);\n"); + softly.assertThat(sql).isEqualTo("alter table mytab alter (acol decimal);\n" + + "alter table mytab alter (acol integer);\n"); alter.setCurrentType("varchar(20)"); alter.setType("varchar(10)"); sql = alterColumn(hanaDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nclob);\n" - + "alter table mytab alter ( acol nvarchar(10));\n"); + softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nclob);\n" + + "alter table mytab alter (acol nvarchar(10));\n"); } @@ -232,13 +237,15 @@ public class PlatformDdl_AlterColumnTest { softly.assertThat(sql).isEqualTo("alter table mytab modify acol not null;\n"); sql = alterColumn(mysqlDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab modify acol varchar(20) not null;\n"); + softly.assertThat(sql).isEqualTo("-- apply changes\n" + + "alter table mytab modify acol varchar(20) not null;\n"); sql = alterColumn(sqlServerDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter column acol nvarchar(20) not null;\n"); + softly.assertThat(sql).isEqualTo("-- apply changes\n" + + "alter table mytab alter column acol nvarchar(20) not null;\n"); sql = alterColumn(hanaDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(20) not null);\n"); + softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(20) not null);\n"); sql = alterColumn(db2Ddl, alter); softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set not null;\n"); @@ -266,15 +273,15 @@ public class PlatformDdl_AlterColumnTest { softly.assertThat(sql).isEqualTo("alter table mytab modify acol null;\n"); sql = alterColumn(mysqlDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab modify acol varchar(20) default 'hi';\n"); + softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab modify acol varchar(20) default 'hi';\n"); sql = alterColumn(sqlServerDdl, alter); - softly.assertThat(sql).isEqualTo("EXEC usp_ebean_drop_default_constraint mytab, acol;\n" + softly.assertThat(sql).isEqualTo("-- apply changes\nEXEC usp_ebean_drop_default_constraint mytab, acol;\n" + "alter table mytab alter column acol nvarchar(20);\n" + "alter table mytab add default 'hi' for acol;\n"); sql = alterColumn(hanaDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(20) default 'hi');\n"); + softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(20) default 'hi');\n"); sql = alterColumn(db2Ddl, alter); softly.assertThat(sql).isEqualTo("alter table mytab alter column acol drop not null;\n"); @@ -302,11 +309,12 @@ public class PlatformDdl_AlterColumnTest { softly.assertThat(sql).isEqualTo("alter table mytab alter acol set default 'hi';\n"); sql = alterColumn(sqlServerDdl, alter); - softly.assertThat(sql).isEqualTo("EXEC usp_ebean_drop_default_constraint mytab, acol;\n" + softly.assertThat(sql).isEqualTo("-- apply changes\n" + + "EXEC usp_ebean_drop_default_constraint mytab, acol;\n" + "alter table mytab add default 'hi' for acol;\n"); sql = alterColumn(hanaDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(20) default 'hi' not null);\n"); + softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(20) default 'hi' not null);\n"); sql = alterColumn(db2Ddl, alter); softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set default 'hi';\n"); @@ -335,11 +343,11 @@ public class PlatformDdl_AlterColumnTest { softly.assertThat(sql).isEqualTo("alter table mytab alter acol set default 'hi';\n"); sql = alterColumn(sqlServerDdl, alter); - softly.assertThat(sql).isEqualTo("EXEC usp_ebean_drop_default_constraint mytab, acol;\n" + softly.assertThat(sql).isEqualTo("-- apply changes\nEXEC usp_ebean_drop_default_constraint mytab, acol;\n" + "alter table mytab add default 'hi' for acol;\n"); sql = alterColumn(hanaDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(20) default 'hi' not null);\n"); + softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(20) default 'hi' not null);\n"); sql = alterColumn(db2Ddl, alter); softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set default 'hi';\n"); @@ -369,10 +377,10 @@ public class PlatformDdl_AlterColumnTest { softly.assertThat(sql).isEqualTo("alter table mytab alter acol drop default;\n"); sql = alterColumn(sqlServerDdl, alter); - softly.assertThat(sql).isEqualTo("EXEC usp_ebean_drop_default_constraint mytab, acol;\n"); + softly.assertThat(sql).isEqualTo("-- apply changes\nEXEC usp_ebean_drop_default_constraint mytab, acol;\n"); sql = alterColumn(hanaDdl, alter); - softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(20) default null not null);\n"); + softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(20) default null not null);\n"); sql = alterColumn(db2Ddl, alter); softly.assertThat(sql).isEqualTo("alter table mytab alter column acol drop default;\n"); @@ -383,7 +391,7 @@ public class PlatformDdl_AlterColumnTest { public void oracle_alterTableAddColumn() { DdlWrite writer = new DdlWrite(); oraDdl.alterTableAddColumn(writer, "my_table", simpleColumn(), false, "1"); - softly.assertThat(writer.apply().getBuffer()) + softly.assertThat(writer.toString()) .isEqualTo("alter table my_table add my_column int default 1 not null;\n"); } @@ -531,7 +539,7 @@ public class PlatformDdl_AlterColumnTest { private String alterColumn(PlatformDdl ddl, AlterColumn alterColumn) { DdlWrite write = new DdlWrite(); ddl.alterColumn(write, alterColumn); - return write.apply().getBuffer(); + return write.toString(); } private String alterFkey(PlatformDdl ddl, String onDelete, String onUpdate) { diff --git a/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseApply.sql b/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseApply.sql index 74f140511..1805e6683 100644 --- a/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseApply.sql +++ b/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseApply.sql @@ -1,3 +1,4 @@ +-- apply changes create table foo ( col1 varchar(4) generated by default as identity not null, col2 varchar(30) not null, @@ -6,7 +7,7 @@ create table foo ( ); comment on table foo is 'comment'; + + alter table foo add column added_to_foo varchar(20); - alter table foo drop column col2; - diff --git a/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseDropAll.sql b/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseDropAll.sql index cf3ebf022..170706608 100644 --- a/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseDropAll.sql +++ b/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseDropAll.sql @@ -1,2 +1,3 @@ +-- drop all drop table if exists foo; diff --git a/ebean-ddl-generator/src/test/resources/assert/create-column-table.txt b/ebean-ddl-generator/src/test/resources/assert/drop-create-column-table.txt similarity index 84% rename from ebean-ddl-generator/src/test/resources/assert/create-column-table.txt rename to ebean-ddl-generator/src/test/resources/assert/drop-create-column-table.txt index 879972680..b5b138663 100644 --- a/ebean-ddl-generator/src/test/resources/assert/create-column-table.txt +++ b/ebean-ddl-generator/src/test/resources/assert/drop-create-column-table.txt @@ -1,3 +1,7 @@ +-- drop all +drop table foo cascade; + +-- apply changes create column table foo ( col1 nvarchar(4) generated by default as identity not null, col2 nvarchar(30) not null, diff --git a/ebean-ddl-generator/src/test/resources/assert/create-table.txt b/ebean-ddl-generator/src/test/resources/assert/drop-create-table.txt similarity index 83% rename from ebean-ddl-generator/src/test/resources/assert/create-table.txt rename to ebean-ddl-generator/src/test/resources/assert/drop-create-table.txt index 3330f90e5..1b9b2ab87 100644 --- a/ebean-ddl-generator/src/test/resources/assert/create-table.txt +++ b/ebean-ddl-generator/src/test/resources/assert/drop-create-table.txt @@ -1,3 +1,7 @@ +-- drop all +drop table if exists foo; + +-- apply changes create table foo ( col1 varchar(4) generated by default as identity not null, col2 varchar(30) not null, diff --git a/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.0__initial.sql index c2e2019a7..38ea03bb3 100644 --- a/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.0__initial.sql @@ -4,9 +4,9 @@ create table migtest_e_history7 ( id integer generated by default as identity not null, constraint pk_migtest_e_history7 primary key (id) ); - alter table migtest_e_history7 add column sys_period_start timestamp default now(); alter table migtest_e_history7 add column sys_period_end timestamp; + create table migtest_e_history7_history( id integer, sys_period_start timestamp, diff --git a/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.2__dropsFor_1.1.sql index 692d93f76..b52760023 100644 --- a/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.2__dropsFor_1.1.sql +++ b/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.2__dropsFor_1.1.sql @@ -2,9 +2,7 @@ -- drop dependencies drop trigger migtest_e_history7_history_upd; drop view migtest_e_history7_with_history; -alter table migtest_e_history7 drop column sys_period_start; -alter table migtest_e_history7 drop column sys_period_end; drop table migtest_e_history7_history; - --- apply changes +alter table migtest_e_history7 drop column sys_period_start; +alter table migtest_e_history7 drop column sys_period_end;