From 74720a840d2241742c4254223bf03a3f5ccdf57f Mon Sep 17 00:00:00 2001 From: Roland Praml Date: Thu, 17 Mar 2022 11:53:05 +0100 Subject: [PATCH 1/6] DbMigration: Do only real type changes --- .../ddlgeneration/platform/BaseTableDdl.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java index 8d606abfa..be02f18e7 100644 --- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java +++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java @@ -723,7 +723,7 @@ public class BaseTableDdl implements TableDdl { dropCheckConstraint(writer, alterColumn, alterColumn.getCheckConstraintName()); } - if (hasValue(alterColumn.getType()) + if (typeChange(alterColumn) || hasValue(alterColumn.getDefaultValue()) || alterColumn.isNotnull() != null) { alterColumn(writer, alterColumn); @@ -735,6 +735,18 @@ public class BaseTableDdl implements TableDdl { } } + private boolean typeChange(AlterColumn alterColumn) { + if (!hasValue(alterColumn.getType())) { + return false; + } + // check, if we have really a type change for that platform + // When specifying @Column("db2;clob(64K)") this would not alter + // other platforms from "String" to "String" for example + String currentType = platformDdl.convert(alterColumn.getCurrentType()); + String type = platformDdl.convert(alterColumn.getType()); + return !type.equals(currentType); + } + private void alterColumnComment(DdlWrite writer, AlterColumn alterColumn) { platformDdl.addColumnComment(writer.applyPostAlter(), alterColumn.getTableName(), alterColumn.getColumnName(), alterColumn.getComment()); } From 37ab71cb7c028955f32be1bc38a36a54e3bf92a6 Mon Sep 17 00:00:00 2001 From: Roland Praml Date: Thu, 17 Mar 2022 13:03:55 +0100 Subject: [PATCH 2/6] Reference scripts --- .../test/resources/migrationtest/dbmigration/sqlite/1.1.sql | 1 - .../test/resources/migrationtest/dbmigration/sqlite/1.3.sql | 1 - .../migrationtest/dbmigration/sqlite/idx_sqlite.migrations | 4 ++-- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.1.sql index a8880c063..db27a8a5f 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.1.sql @@ -70,7 +70,6 @@ alter table migtest_e_basic add column new_integer integer default 42 not null; alter table migtest_e_history2 add column test_string2 varchar(255); alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null; alter table migtest_e_history2 add column new_column varchar(20); --- not supported: alter table migtest_e_history4 alter column test_number integer; alter table migtest_e_history5 add column test_boolean int default 0 not null; -- not supported: alter table migtest_e_history6 alter column test_number1 set default 42; -- not supported: alter table migtest_e_history6 alter column test_number1 set not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.3.sql index 10f81b07d..3544092ff 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.3.sql @@ -47,7 +47,6 @@ alter table migtest_e_basic add column eref_id integer; -- not supported: alter table migtest_e_history2 alter column test_string set null; alter table migtest_e_history2 add column obsolete_string1 varchar(255); alter table migtest_e_history2 add column obsolete_string2 varchar(255); --- not supported: alter table migtest_e_history4 alter column test_number integer; -- not supported: alter table migtest_e_history6 alter column test_number1 drop default; -- not supported: alter table migtest_e_history6 alter column test_number1 set null; -- not supported: alter table migtest_e_history6 alter column test_number2 set default 7; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/idx_sqlite.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/idx_sqlite.migrations index 3be0f6a87..b173dc34d 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/idx_sqlite.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/idx_sqlite.migrations @@ -1,7 +1,7 @@ -990693989, 1.0__initial.sql --71853945, 1.1.sql +2071287662, 1.1.sql 1279151426, 1.2__dropsFor_1.1.sql -1929931571, 1.3.sql +1596396701, 1.3.sql 80209848, 1.4__dropsFor_1.3.sql 2034589659, R__order_views_sqlite.sql From eb1ed0bdd0623e462850a553676de8af462243ca Mon Sep 17 00:00:00 2001 From: Roland Praml Date: Thu, 17 Mar 2022 13:07:52 +0100 Subject: [PATCH 3/6] DbColumDefault must be returned although if individual columnDefinition is specified (cases no DDL change) We support optional platform columnDefinitions now. E.g. "db2;clob(64M);" - so we must not ignore @DbDefault for all other platforms --- .../main/java/io/ebeaninternal/server/deploy/BeanProperty.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java index 6dd11ffbe..7ab4afe3e 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/BeanProperty.java @@ -1004,7 +1004,7 @@ public class BeanProperty implements ElPropertyValue, Property, STreeProperty { * Return the DB column default to use for DDL. */ public String dbColumnDefault() { - return dbColumnDefn != null ? null : dbColumnDefault; + return dbColumnDefault; } /** From 8f746196ab058e63c29d480c29c5bce64f859e09 Mon Sep 17 00:00:00 2001 From: Roland Praml Date: Thu, 17 Mar 2022 11:57:24 +0100 Subject: [PATCH 4/6] Support for extra colum options for DB2 --- .../platform/DB2ColumnOptionsParser.java | 77 +++++++++++++++++++ .../ddlgeneration/platform/DB2Ddl.java | 30 +++++++- .../platform/DB2ColumnOptionsParserTest.java | 43 +++++++++++ .../test/java/misc/migration/v1_0/EBasic.java | 11 +++ .../test/java/misc/migration/v1_1/EBasic.java | 8 ++ .../test/java/misc/migration/v1_2/EBasic.java | 11 +++ 6 files changed, 176 insertions(+), 4 deletions(-) create mode 100644 ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DB2ColumnOptionsParser.java create mode 100644 ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DB2ColumnOptionsParserTest.java diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DB2ColumnOptionsParser.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DB2ColumnOptionsParser.java new file mode 100644 index 000000000..358e8ee0a --- /dev/null +++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DB2ColumnOptionsParser.java @@ -0,0 +1,77 @@ +package io.ebeaninternal.dbmigration.ddlgeneration.platform; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * This class parses the inline column options of a create-statement (see + * https://www.ibm.com/docs/en/db2/11.5?topic=statements-create-table#sdx-synid_frag-column-options) into separate pieces if you + * want to alter a column. The later one has to be done in separate statements: See + * https://www.ibm.com/docs/en/db2/11.5?topic=statements-alter-table#sdx-synid_frag-column-options + * + *
+ * Note 1: This class parses only 'inline length', 'compact' and 'logged' options
+ * Note 2: You cannot alter the compact or logged option on an existing column. + * + * @author Roland Praml, FOCONIS AG + */ +public class DB2ColumnOptionsParser { + private static final Pattern INLINE_LENGTH = Pattern.compile(".*( inline length \\d+).*", Pattern.CASE_INSENSITIVE); + private static final Pattern NOT_LOGGED = Pattern.compile(".*?(( not)? logged).*", Pattern.CASE_INSENSITIVE); + private static final Pattern NOT_COMPACT = Pattern.compile(".*?(( not)? compact).*", Pattern.CASE_INSENSITIVE); + + private final String type; + private final String inlineLength; + private final boolean logged; + private final boolean compact; + private boolean extraOptions; + + DB2ColumnOptionsParser(String def) { + Matcher m = INLINE_LENGTH.matcher(def); + if (m.matches()) { + def = def.replace(m.group(1), ""); + inlineLength = m.group(1).trim(); + } else { + inlineLength = null; + } + m = NOT_LOGGED.matcher(def); + if (m.matches()) { + extraOptions = true; + def = def.replace(m.group(1), ""); + logged = m.group(2) == null; + } else { + logged = true; // default + } + + m = NOT_COMPACT.matcher(def); + if (m.matches()) { + extraOptions = true; + def = def.replace(m.group(1), ""); + compact = m.group(2) == null; + } else { + compact = false; // default + } + type = def.trim(); + } + + public String getInlineLength() { + return inlineLength; + } + + public String getType() { + return type; + } + + public boolean isLogged() { + return logged; + } + + public boolean isCompact() { + return compact; + } + + public boolean hasExtraOptions() { + return extraOptions; + } + +} diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DB2Ddl.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DB2Ddl.java index c021cfdfc..d9f2745e4 100644 --- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DB2Ddl.java +++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DB2Ddl.java @@ -8,6 +8,7 @@ import io.ebean.util.StringHelper; import io.ebeaninternal.dbmigration.ddlgeneration.DdlAlterTable; import io.ebeaninternal.dbmigration.ddlgeneration.DdlBuffer; import io.ebeaninternal.dbmigration.ddlgeneration.DdlWrite; +import io.ebeaninternal.dbmigration.migration.AlterColumn; import io.ebeaninternal.dbmigration.migration.Column; /** @@ -134,10 +135,31 @@ public class DB2Ddl extends PlatformDdl { return sb.toString(); } -@Override -protected DdlAlterTable alterTable(DdlWrite writer, String tableName) { - return writer.applyAlterTable(tableName, Db2AlterTableWrite::new); -}; + @Override + protected void alterColumnType(DdlWrite writer, AlterColumn alter) { + String type = convert(alter.getType()); + DB2ColumnOptionsParser parser = new DB2ColumnOptionsParser(type); + alterTable(writer, alter.getTableName()).append(alterColumn, alter.getColumnName()) + .append(columnSetType).append(parser.getType()); + + if (parser.getInlineLength() != null) { + alterTable(writer, alter.getTableName()).append(alterColumn, alter.getColumnName()) + .append("set").appendWithSpace(parser.getInlineLength()); + } + + if (parser.hasExtraOptions()) { + alterTable(writer, alter.getTableName()).raw("-- ignored options for ") + .append(alter.getTableName()).append(".").append(alter.getColumnName()) + .append(": compact=").append(String.valueOf(parser.isCompact())) + .append(", logged=").append(String.valueOf(parser.isLogged())); + } + } + + @Override + protected DdlAlterTable alterTable(DdlWrite writer, String tableName) { + return writer.applyAlterTable(tableName, Db2AlterTableWrite::new); + }; + static class Db2AlterTableWrite extends BaseAlterTableWrite { public Db2AlterTableWrite(String tableName) { diff --git a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DB2ColumnOptionsParserTest.java b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DB2ColumnOptionsParserTest.java new file mode 100644 index 000000000..8771e67e6 --- /dev/null +++ b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DB2ColumnOptionsParserTest.java @@ -0,0 +1,43 @@ +package io.ebeaninternal.dbmigration.ddlgeneration.platform; + +import org.assertj.core.api.SoftAssertions; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; + + +public class DB2ColumnOptionsParserTest { + + private final SoftAssertions softly = new SoftAssertions(); + + @AfterEach + void assertAll() { + softly.assertAll(); + } + + @Test + public void testParser() { + DB2ColumnOptionsParser p = new DB2ColumnOptionsParser("blob(64M) inline length 200 logged compact"); + softly.assertThat(p.getType()).isEqualTo("blob(64M)"); + softly.assertThat(p.getInlineLength()).isEqualTo("inline length 200"); + softly.assertThat(p.isLogged()).isTrue(); + softly.assertThat(p.isCompact()).isTrue(); + + p = new DB2ColumnOptionsParser("blob(64M) inline length 200 not logged not compact"); + softly.assertThat(p.getType()).isEqualTo("blob(64M)"); + softly.assertThat(p.getInlineLength()).isEqualTo("inline length 200"); + softly.assertThat(p.isLogged()).isFalse(); + softly.assertThat(p.isCompact()).isFalse(); + + p = new DB2ColumnOptionsParser("blob(64M) inline length 200"); + softly.assertThat(p.getType()).isEqualTo("blob(64M)"); + softly.assertThat(p.getInlineLength()).isEqualTo("inline length 200"); + softly.assertThat(p.isLogged()).isTrue(); + softly.assertThat(p.isCompact()).isFalse(); + + p = new DB2ColumnOptionsParser("blob(64M)"); + softly.assertThat(p.getType()).isEqualTo("blob(64M)"); + softly.assertThat(p.getInlineLength()).isNull(); + softly.assertThat(p.isLogged()).isTrue(); + softly.assertThat(p.isCompact()).isFalse(); + } +} diff --git a/ebean-test/src/test/java/misc/migration/v1_0/EBasic.java b/ebean-test/src/test/java/misc/migration/v1_0/EBasic.java index 0a2a3d7da..c6a451a9f 100644 --- a/ebean-test/src/test/java/misc/migration/v1_0/EBasic.java +++ b/ebean-test/src/test/java/misc/migration/v1_0/EBasic.java @@ -1,6 +1,7 @@ package misc.migration.v1_0; import io.ebean.annotation.DbDefault; +import io.ebean.annotation.DbJson; import io.ebean.annotation.EnumValue; import io.ebean.annotation.Index; import io.ebean.annotation.NotNull; @@ -15,6 +16,7 @@ import javax.validation.constraints.Size; import java.io.File; import java.sql.Timestamp; +import java.util.List; @Entity @Table(name = "migtest_e_basic") @@ -50,6 +52,15 @@ public class EBasic { @Column(columnDefinition = "db2;blob(64M);") File descriptionFile; + @DbJson + @Column(columnDefinition = "db2;clob(16K) inline length 500 compact;") + List jsonList; + + @NotNull + @DbDefault("X") + @Column(columnDefinition = "db2;clob(16K) inline length 500 not logged;") + String aLob; + Timestamp someDate; boolean old_boolean; diff --git a/ebean-test/src/test/java/misc/migration/v1_1/EBasic.java b/ebean-test/src/test/java/misc/migration/v1_1/EBasic.java index 72d67fff4..6837fc3f9 100644 --- a/ebean-test/src/test/java/misc/migration/v1_1/EBasic.java +++ b/ebean-test/src/test/java/misc/migration/v1_1/EBasic.java @@ -6,6 +6,7 @@ import io.ebean.annotation.*; import javax.persistence.*; import javax.validation.constraints.Size; import java.sql.Timestamp; +import java.util.List; @Entity @Table(name = "migtest_e_basic") @@ -58,6 +59,13 @@ public class EBasic { @Size(max=127) String description; + @DbJson + @Column(columnDefinition = "db2;clob(16K) inline length 500 compact;") + List jsonList; + + @Column(columnDefinition = "db2;clob(16K) inline length 500 not logged;", nullable = true) + String aLob; + //@NotNull //@DbDefault("2000-01-01T00:00:00") //- date time literals do not work for each platform yet //@DbDefault("now") //- now does not work for mariaDb diff --git a/ebean-test/src/test/java/misc/migration/v1_2/EBasic.java b/ebean-test/src/test/java/misc/migration/v1_2/EBasic.java index 7dd688941..b80603673 100644 --- a/ebean-test/src/test/java/misc/migration/v1_2/EBasic.java +++ b/ebean-test/src/test/java/misc/migration/v1_2/EBasic.java @@ -1,6 +1,7 @@ package misc.migration.v1_2; import io.ebean.annotation.DbDefault; +import io.ebean.annotation.DbJson; import io.ebean.annotation.EnumValue; import io.ebean.annotation.Index; import io.ebean.annotation.NotNull; @@ -15,6 +16,7 @@ import javax.validation.constraints.Size; import java.io.File; import java.sql.Timestamp; +import java.util.List; @Entity @Table(name = "migtest_e_basic") @@ -50,6 +52,15 @@ public class EBasic { @Column(columnDefinition = "db2;blob(64M);") File descriptionFile; + @DbJson + @Column(columnDefinition = "db2;clob(16K) inline length 500 compact;") + List jsonList; + + @NotNull + @DbDefault("X") + @Column(columnDefinition = "db2;clob(16K) inline length 500 compact;") + String aLob; + Timestamp someDate; boolean old_boolean; From d7a7ef097b9dc8b3c4ecc80314399186b7da2ba2 Mon Sep 17 00:00:00 2001 From: Roland Praml Date: Thu, 17 Mar 2022 13:14:11 +0100 Subject: [PATCH 5/6] Reference scripts --- .../migrationtest/dbmigration/clickhouse/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/clickhouse/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/clickhouse/1.3.sql | 5 +++++ .../dbmigration/clickhouse/idx_clickhouse.migrations | 6 +++--- .../migrationtest/dbmigration/cockroach/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/cockroach/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/cockroach/1.3.sql | 5 +++++ .../dbmigration/cockroach/idx_cockroach.migrations | 6 +++--- .../migrationtest/dbmigration/db2fori/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/db2fori/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/db2fori/1.3.sql | 7 +++++++ .../migrationtest/dbmigration/db2fori/idx_db2.migrations | 6 +++--- .../migrationtest/dbmigration/db2legacy/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/db2legacy/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/db2legacy/1.3.sql | 7 +++++++ .../migrationtest/dbmigration/db2legacy/idx_db2.migrations | 6 +++--- .../migrationtest/dbmigration/db2luw/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/db2luw/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/db2luw/1.3.sql | 7 +++++++ .../migrationtest/dbmigration/db2luw/idx_db2.migrations | 6 +++--- .../migrationtest/dbmigration/db2zos/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/db2zos/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/db2zos/1.3.sql | 7 +++++++ .../migrationtest/dbmigration/db2zos/idx_db2.migrations | 6 +++--- .../migrationtest/dbmigration/generic/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/generic/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/generic/1.3.sql | 5 +++++ .../dbmigration/generic/idx_generic.migrations | 6 +++--- .../migrationtest/dbmigration/h2/1.0__initial.sql | 2 ++ .../test/resources/migrationtest/dbmigration/h2/1.1.sql | 2 ++ .../test/resources/migrationtest/dbmigration/h2/1.3.sql | 5 +++++ .../migrationtest/dbmigration/h2/idx_h2.migrations | 6 +++--- .../migrationtest/dbmigration/hana/1.0__initial.sql | 2 ++ .../test/resources/migrationtest/dbmigration/hana/1.1.sql | 1 + .../test/resources/migrationtest/dbmigration/hana/1.3.sql | 3 +++ .../migrationtest/dbmigration/hana/idx_hana.migrations | 6 +++--- .../migrationtest/dbmigration/hsqldb/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/hsqldb/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/hsqldb/1.3.sql | 5 +++++ .../migrationtest/dbmigration/hsqldb/idx_hsqldb.migrations | 6 +++--- .../dbmigration/mariadb-noprocs/1.0__initial.sql | 2 ++ .../migrationtest/dbmigration/mariadb-noprocs/1.1.sql | 1 + .../migrationtest/dbmigration/mariadb-noprocs/1.3.sql | 3 +++ .../dbmigration/mariadb-noprocs/idx_mariadb.migrations | 6 +++--- .../migrationtest/dbmigration/mariadb/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/mariadb/1.1.sql | 1 + .../resources/migrationtest/dbmigration/mariadb/1.3.sql | 3 +++ .../dbmigration/mariadb/idx_mariadb.migrations | 6 +++--- .../migrationtest/dbmigration/model/1.0__initial.model.xml | 2 ++ .../migrationtest/dbmigration/model/1.1.model.xml | 1 + .../migrationtest/dbmigration/model/1.3.model.xml | 1 + .../migrationtest/dbmigration/mysql/1.0__initial.sql | 2 ++ .../test/resources/migrationtest/dbmigration/mysql/1.1.sql | 1 + .../test/resources/migrationtest/dbmigration/mysql/1.3.sql | 3 +++ .../migrationtest/dbmigration/mysql/idx_mysql.migrations | 6 +++--- .../migrationtest/dbmigration/mysql55/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/mysql55/1.1.sql | 1 + .../resources/migrationtest/dbmigration/mysql55/1.3.sql | 3 +++ .../migrationtest/dbmigration/mysql55/idx_mysql.migrations | 6 +++--- .../migrationtest/dbmigration/nuodb/1.0__initial.sql | 2 ++ .../test/resources/migrationtest/dbmigration/nuodb/1.1.sql | 2 ++ .../test/resources/migrationtest/dbmigration/nuodb/1.3.sql | 5 +++++ .../migrationtest/dbmigration/nuodb/idx_nuodb.migrations | 6 +++--- .../migrationtest/dbmigration/oracle/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/oracle/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/oracle/1.3.sql | 5 +++++ .../migrationtest/dbmigration/oracle/idx_oracle.migrations | 6 +++--- .../migrationtest/dbmigration/oracle11/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/oracle11/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/oracle11/1.3.sql | 5 +++++ .../dbmigration/oracle11/idx_oracle.migrations | 6 +++--- .../migrationtest/dbmigration/postgres/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/postgres/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/postgres/1.3.sql | 5 +++++ .../dbmigration/postgres/idx_postgres.migrations | 6 +++--- .../migrationtest/dbmigration/postgres9/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/postgres9/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/postgres9/1.3.sql | 5 +++++ .../dbmigration/postgres9/idx_postgres.migrations | 6 +++--- .../migrationtest/dbmigration/sqlanywhere/1.0__initial.sql | 2 ++ .../migrationtest/dbmigration/sqlanywhere/1.1.sql | 2 ++ .../migrationtest/dbmigration/sqlanywhere/1.3.sql | 5 +++++ .../dbmigration/sqlanywhere/idx_sqlanywhere.migrations | 6 +++--- .../migrationtest/dbmigration/sqlite/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/sqlite/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/sqlite/1.3.sql | 5 +++++ .../migrationtest/dbmigration/sqlite/idx_sqlite.migrations | 6 +++--- .../migrationtest/dbmigration/sqlserver16/1.0__initial.sql | 2 ++ .../migrationtest/dbmigration/sqlserver16/1.1.sql | 2 ++ .../migrationtest/dbmigration/sqlserver16/1.3.sql | 5 +++++ .../dbmigration/sqlserver16/idx_sqlserver.migrations | 6 +++--- .../migrationtest/dbmigration/sqlserver17/1.0__initial.sql | 2 ++ .../migrationtest/dbmigration/sqlserver17/1.1.sql | 2 ++ .../migrationtest/dbmigration/sqlserver17/1.3.sql | 5 +++++ .../dbmigration/sqlserver17/idx_sqlserver.migrations | 6 +++--- .../migrationtest/dbmigration/yugabyte/1.0__initial.sql | 2 ++ .../resources/migrationtest/dbmigration/yugabyte/1.1.sql | 2 ++ .../resources/migrationtest/dbmigration/yugabyte/1.3.sql | 5 +++++ .../dbmigration/yugabyte/idx_yugabyte.migrations | 6 +++--- 99 files changed, 285 insertions(+), 72 deletions(-) diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.0__initial.sql index b4b1ecfff..399008e81 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.0__initial.sql @@ -52,6 +52,8 @@ create table migtest_e_basic ( name String, description String, description_file blob, + json_list String, + a_lob String default 'X', some_date DateTime, old_boolean UInt8 default 0, old_boolean2 UInt8, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.1.sql index eef3c8083..8031d4b61 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.1.sql @@ -46,6 +46,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 String; alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 set null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob set null; alter table migtest_e_basic alter column user_id set null; alter table migtest_e_basic add column new_string_field String default 'foo''bar'; alter table migtest_e_basic add column new_boolean_field UInt8 default 1; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.3.sql index 523858c49..1d1e765bc 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.3.sql @@ -17,6 +17,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; -- NOTE: table has @History - special migration may be necessary @@ -27,6 +29,9 @@ alter table migtest_e_basic alter column status set null; alter table migtest_e_basic alter column status2 String; alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob String; +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file blob; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/idx_clickhouse.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/idx_clickhouse.migrations index 836030b83..e9f16f1b3 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/idx_clickhouse.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/idx_clickhouse.migrations @@ -1,6 +1,6 @@ -1588846231, 1.0__initial.sql --1102375855, 1.1.sql +-1091512932, 1.0__initial.sql +308282323, 1.1.sql 1279151426, 1.2__dropsFor_1.1.sql -581928632, 1.3.sql +1630693278, 1.3.sql 80209848, 1.4__dropsFor_1.3.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.0__initial.sql index b9b139994..23cb015c1 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file bytea, + json_list json, + a_lob varchar(255) default 'X' not null, some_date timestamptz, old_boolean boolean default false not null, old_boolean2 boolean, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.1.sql index 11933d07c..01d009c38 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.1.sql @@ -53,6 +53,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 type varchar(127); alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 drop not null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob drop not null; alter table migtest_e_basic alter column user_id drop not null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field boolean default true not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.3.sql index fa5bd5461..510820e7b 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.3.sql @@ -27,6 +27,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; -- NOTE: table has @History - special migration may be necessary @@ -37,6 +39,9 @@ alter table migtest_e_basic alter column status drop not null; alter table migtest_e_basic alter column status2 type varchar(1); alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob type varchar(255); +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file bytea; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/idx_cockroach.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/idx_cockroach.migrations index 680ddc8cb..24af9d68d 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/idx_cockroach.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/idx_cockroach.migrations @@ -1,7 +1,7 @@ -246318791, 1.0__initial.sql -1109849447, 1.1.sql +150261101, 1.0__initial.sql +-968104039, 1.1.sql 240919209, 1.2__dropsFor_1.1.sql -612721597, 1.3.sql +-430000356, 1.3.sql -820814009, 1.4__dropsFor_1.3.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.0__initial.sql index cc23e8881..8792984ed 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file blob(64M), + json_list clob(16K) inline length 500 compact, + a_lob clob(16K) inline length 500 not logged default 'X' not null, some_date timestamp, old_boolean smallint default 0 default false not null, old_boolean2 smallint default 0, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.1.sql index 298982766..100aed067 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.1.sql @@ -127,6 +127,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 set data type varchar(127); alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 drop not null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob drop not null; alter table migtest_e_basic alter column user_id drop not null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field smallint default 0 default true not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.3.sql index 557ab8d29..d8778ad59 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.3.sql @@ -157,6 +157,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; alter table migtest_e_history2 drop versioning; alter table migtest_e_history3 drop versioning; @@ -171,6 +173,11 @@ alter table migtest_e_basic alter column status drop not null; alter table migtest_e_basic alter column status2 set data type varchar(1); alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob set data type clob(16K); +alter table migtest_e_basic alter column a_lob set inline length 500; +-- ignored options for migtest_e_basic.a_lob: compact=true, logged=true; +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file blob(64M); diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/idx_db2.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/idx_db2.migrations index 7b05091cd..7e5fe8d26 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/idx_db2.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/idx_db2.migrations @@ -1,7 +1,7 @@ --1173442860, 1.0__initial.sql --504970252, 1.1.sql +841482576, 1.0__initial.sql +2115993112, 1.1.sql 364066694, 1.2__dropsFor_1.1.sql --2046803765, 1.3.sql +-144532085, 1.3.sql -1199420632, 1.4__dropsFor_1.3.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.0__initial.sql index cacec3063..dd3910a5a 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file blob(64M), + json_list clob(16K) inline length 500 compact, + a_lob clob(16K) inline length 500 not logged default 'X' not null, some_date timestamp, old_boolean boolean default false not null, old_boolean2 boolean, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.1.sql index 4f0ea1cf5..80bfa41b8 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.1.sql @@ -127,6 +127,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 set data type varchar(127); alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 drop not null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob drop not null; alter table migtest_e_basic alter column user_id drop not null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field boolean default true not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.3.sql index 4dc9a692d..d69577404 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.3.sql @@ -157,6 +157,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; alter table migtest_e_history2 drop versioning; alter table migtest_e_history3 drop versioning; @@ -171,6 +173,11 @@ alter table migtest_e_basic alter column status drop not null; alter table migtest_e_basic alter column status2 set data type varchar(1); alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob set data type clob(16K); +alter table migtest_e_basic alter column a_lob set inline length 500; +-- ignored options for migtest_e_basic.a_lob: compact=true, logged=true; +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file blob(64M); diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/idx_db2.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/idx_db2.migrations index b3d6b8896..7c89c8a49 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/idx_db2.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/idx_db2.migrations @@ -1,7 +1,7 @@ -1034179507, 1.0__initial.sql --1206845521, 1.1.sql +-1701286706, 1.0__initial.sql +-1965264933, 1.1.sql 364066694, 1.2__dropsFor_1.1.sql -161683967, 1.3.sql +1221811961, 1.3.sql -1199420632, 1.4__dropsFor_1.3.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.0__initial.sql index d9e893947..c87758872 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file blob(64M), + json_list clob(16K) inline length 500 compact, + a_lob clob(16K) inline length 500 not logged default 'X' not null, some_date timestamp, old_boolean boolean default false not null, old_boolean2 boolean, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.1.sql index 77c49370e..e8ac4cf36 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.1.sql @@ -127,6 +127,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 set data type varchar(127); alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 drop not null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob drop not null; alter table migtest_e_basic alter column user_id drop not null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field boolean default true not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.3.sql index c0280ba4f..5d90ff7af 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.3.sql @@ -157,6 +157,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; alter table migtest_e_history2 drop versioning; alter table migtest_e_history3 drop versioning; @@ -171,6 +173,11 @@ alter table migtest_e_basic alter column status drop not null; alter table migtest_e_basic alter column status2 set data type varchar(1); alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob set data type clob(16K); +alter table migtest_e_basic alter column a_lob set inline length 500; +-- ignored options for migtest_e_basic.a_lob: compact=true, logged=true; +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file blob(64M); diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/idx_db2.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/idx_db2.migrations index 17aaf2093..071372b00 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/idx_db2.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/idx_db2.migrations @@ -1,7 +1,7 @@ --1345631840, 1.0__initial.sql -2135835079, 1.1.sql +-1211384725, 1.0__initial.sql +-336858597, 1.1.sql 364066694, 1.2__dropsFor_1.1.sql --1510901098, 1.3.sql +-688071658, 1.3.sql -1199420632, 1.4__dropsFor_1.3.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.0__initial.sql index d9e893947..c87758872 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file blob(64M), + json_list clob(16K) inline length 500 compact, + a_lob clob(16K) inline length 500 not logged default 'X' not null, some_date timestamp, old_boolean boolean default false not null, old_boolean2 boolean, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.1.sql index 77c49370e..e8ac4cf36 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.1.sql @@ -127,6 +127,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 set data type varchar(127); alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 drop not null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob drop not null; alter table migtest_e_basic alter column user_id drop not null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field boolean default true not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.3.sql index c0280ba4f..5d90ff7af 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.3.sql @@ -157,6 +157,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; alter table migtest_e_history2 drop versioning; alter table migtest_e_history3 drop versioning; @@ -171,6 +173,11 @@ alter table migtest_e_basic alter column status drop not null; alter table migtest_e_basic alter column status2 set data type varchar(1); alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob set data type clob(16K); +alter table migtest_e_basic alter column a_lob set inline length 500; +-- ignored options for migtest_e_basic.a_lob: compact=true, logged=true; +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file blob(64M); diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/idx_db2.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/idx_db2.migrations index 17aaf2093..071372b00 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/idx_db2.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/idx_db2.migrations @@ -1,7 +1,7 @@ --1345631840, 1.0__initial.sql -2135835079, 1.1.sql +-1211384725, 1.0__initial.sql +-336858597, 1.1.sql 364066694, 1.2__dropsFor_1.1.sql --1510901098, 1.3.sql +-688071658, 1.3.sql -1199420632, 1.4__dropsFor_1.3.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.0__initial.sql index d816db2f9..262ebd5ff 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file blob, + json_list clob, + a_lob varchar(255) default 'X' not null, some_date timestamp, old_boolean boolean default false not null, old_boolean2 boolean, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.1.sql index 4397ca096..59709f02d 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.1.sql @@ -53,6 +53,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 varchar(127); alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 set null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob set null; alter table migtest_e_basic alter column user_id set null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field boolean default true not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.3.sql index 9b70e9ce7..cb972294f 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.3.sql @@ -27,6 +27,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; -- NOTE: table has @History - special migration may be necessary @@ -37,6 +39,9 @@ alter table migtest_e_basic alter column status set null; alter table migtest_e_basic alter column status2 varchar(1); alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob varchar(255); +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file blob; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/idx_generic.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/idx_generic.migrations index 763650cdd..24d932206 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/idx_generic.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/idx_generic.migrations @@ -1,6 +1,6 @@ --1254950549, 1.0__initial.sql --905429129, 1.1.sql +2034298647, 1.0__initial.sql +294462857, 1.1.sql 1279151426, 1.2__dropsFor_1.1.sql -110210997, 1.3.sql +465616489, 1.3.sql 80209848, 1.4__dropsFor_1.3.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.0__initial.sql index 70abeb07f..0bf405740 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file blob, + json_list clob, + a_lob varchar(255) default 'X' not null, some_date timestamp, old_boolean boolean default false not null, old_boolean2 boolean, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.1.sql index a26867c07..6b9679661 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.1.sql @@ -63,6 +63,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 varchar(127); alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 set null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob set null; alter table migtest_e_basic alter column user_id set null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field boolean default true not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.3.sql index 2b911cdd1..e10ccf4e3 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.3.sql @@ -27,6 +27,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; drop trigger migtest_e_history2_history_upd; drop view migtest_e_history2_with_history; @@ -45,6 +47,9 @@ alter table migtest_e_basic alter column status set null; alter table migtest_e_basic alter column status2 varchar(1); alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob varchar(255); +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file blob; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/idx_h2.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/idx_h2.migrations index f9f669fc2..9d9acbb8e 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/idx_h2.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/idx_h2.migrations @@ -1,7 +1,7 @@ -1200492722, 1.0__initial.sql --475634933, 1.1.sql +2132375128, 1.0__initial.sql +393141788, 1.1.sql -1366392410, 1.2__dropsFor_1.1.sql --323346059, 1.3.sql +-1336073109, 1.3.sql -1382108238, 1.4__dropsFor_1.3.sql 783227075, R__multi_comments.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.0__initial.sql index 8e9d37fd1..6c528f6ce 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.0__initial.sql @@ -61,6 +61,8 @@ create column table migtest_e_basic ( name nvarchar(127), description nvarchar(127), description_file blob, + json_list nclob, + a_lob nvarchar(255) default 'X' not null, some_date timestamp, old_boolean boolean default false not null, old_boolean2 boolean, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.1.sql index ba37717eb..dd18de917 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.1.sql @@ -97,6 +97,7 @@ alter table migtest_ckey_detail add (one_key integer, alter table migtest_ckey_parent add (assoc_id integer); alter table migtest_e_basic alter (status nvarchar(1) default 'A' not null, status2 nvarchar(127) default null, + a_lob nvarchar(255) default null, user_id integer); alter table migtest_e_basic add (new_string_field nvarchar(255) default 'foo''bar' not null, new_boolean_field boolean default true not null, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.3.sql index 15a9882c9..43ea9ef1d 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.3.sql @@ -87,6 +87,8 @@ create column table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; alter table migtest_e_history2 drop system versioning; alter table migtest_e_history3 drop system versioning; @@ -99,6 +101,7 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null; alter table migtest_e_basic alter (status nvarchar(1) default null, status2 nclob not null); alter table migtest_e_basic alter (status2 nvarchar(1) default 'N' not null, + a_lob nvarchar(255) default 'X' not null, user_id integer default 23 not null); alter table migtest_e_basic add (description_file blob, old_boolean boolean default false not null, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/idx_hana.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/idx_hana.migrations index 56cd1a76d..78e20a03f 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/idx_hana.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/idx_hana.migrations @@ -1,8 +1,8 @@ -745347271, I__create_procs.sql -881849401, 1.0__initial.sql --1990555725, 1.1.sql +-1191817607, 1.0__initial.sql +975653326, 1.1.sql 197547825, 1.2__dropsFor_1.1.sql -1338960395, 1.3.sql +-98538062, 1.3.sql 1812245353, 1.4__dropsFor_1.3.sql 1906063401, R__order_views_hana.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.0__initial.sql index 2daf407bc..e9edea850 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file blob, + json_list clob, + a_lob varchar(255) default 'X' not null, some_date timestamp, old_boolean boolean default false not null, old_boolean2 boolean, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.1.sql index 0d1f86821..f5c26a888 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.1.sql @@ -53,6 +53,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 varchar(127); alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 set null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob set null; alter table migtest_e_basic alter column user_id set null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field boolean default true not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.3.sql index b3adec42a..a997ec73a 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.3.sql @@ -27,6 +27,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; -- NOTE: table has @History - special migration may be necessary @@ -37,6 +39,9 @@ alter table migtest_e_basic alter column status set null; alter table migtest_e_basic alter column status2 varchar(1); alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob varchar(255); +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file blob; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/idx_hsqldb.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/idx_hsqldb.migrations index 32896a876..cb5d8ea27 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/idx_hsqldb.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/idx_hsqldb.migrations @@ -1,7 +1,7 @@ -442457363, 1.0__initial.sql --1664513570, 1.1.sql +614593077, 1.0__initial.sql +-788233032, 1.1.sql -300925212, 1.2__dropsFor_1.1.sql --612892741, 1.3.sql +121126259, 1.3.sql -972999284, 1.4__dropsFor_1.3.sql 861001272, R__order_views_hsqldb.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.0__initial.sql index a5d40b3ea..9b0587dc3 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file longblob, + json_list json, + a_lob varchar(255) default 'X' not null, some_date datetime(6), old_boolean tinyint(1) default 0 not null, old_boolean2 tinyint(1), diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.1.sql index 5068f4608..eb8551ab3 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.1.sql @@ -48,6 +48,7 @@ alter table migtest_ckey_detail add column two_key varchar(127); alter table migtest_ckey_parent add column assoc_id integer; alter table migtest_e_basic modify status varchar(1) not null default 'A'; alter table migtest_e_basic modify status2 varchar(127); +alter table migtest_e_basic modify a_lob varchar(255); alter table migtest_e_basic modify user_id integer; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field tinyint(1) default 1 not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.3.sql index 86d0e6528..f0c10c5ed 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.3.sql @@ -24,6 +24,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; SET @@system_versioning_alter_history = 1; @@ -32,6 +34,7 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null; -- apply alter tables alter table migtest_e_basic modify status varchar(1); alter table migtest_e_basic modify status2 varchar(1) not null default 'N'; +alter table migtest_e_basic modify a_lob varchar(255) not null default 'X'; alter table migtest_e_basic modify user_id integer not null default 23; alter table migtest_e_basic add column description_file longblob; alter table migtest_e_basic add column old_boolean tinyint(1) default 0 not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/idx_mariadb.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/idx_mariadb.migrations index 336dbf5d2..400a152ee 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/idx_mariadb.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/idx_mariadb.migrations @@ -1,7 +1,7 @@ --636344713, 1.0__initial.sql --1901679107, 1.1.sql +1992643861, 1.0__initial.sql +-1677772226, 1.1.sql -828985759, 1.2__dropsFor_1.1.sql -903264949, 1.3.sql +-1470028617, 1.3.sql -446860935, 1.4__dropsFor_1.3.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.0__initial.sql index a5d40b3ea..9b0587dc3 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file longblob, + json_list json, + a_lob varchar(255) default 'X' not null, some_date datetime(6), old_boolean tinyint(1) default 0 not null, old_boolean2 tinyint(1), diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.1.sql index 5068f4608..eb8551ab3 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.1.sql @@ -48,6 +48,7 @@ alter table migtest_ckey_detail add column two_key varchar(127); alter table migtest_ckey_parent add column assoc_id integer; alter table migtest_e_basic modify status varchar(1) not null default 'A'; alter table migtest_e_basic modify status2 varchar(127); +alter table migtest_e_basic modify a_lob varchar(255); alter table migtest_e_basic modify user_id integer; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field tinyint(1) default 1 not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.3.sql index 86d0e6528..f0c10c5ed 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.3.sql @@ -24,6 +24,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; SET @@system_versioning_alter_history = 1; @@ -32,6 +34,7 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null; -- apply alter tables alter table migtest_e_basic modify status varchar(1); alter table migtest_e_basic modify status2 varchar(1) not null default 'N'; +alter table migtest_e_basic modify a_lob varchar(255) not null default 'X'; alter table migtest_e_basic modify user_id integer not null default 23; alter table migtest_e_basic add column description_file longblob; alter table migtest_e_basic add column old_boolean tinyint(1) default 0 not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/idx_mariadb.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/idx_mariadb.migrations index ddc777e23..1d88de14f 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/idx_mariadb.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/idx_mariadb.migrations @@ -1,8 +1,8 @@ 1835064798, I__create_procs.sql --636344713, 1.0__initial.sql --1901679107, 1.1.sql +1992643861, 1.0__initial.sql +-1677772226, 1.1.sql 2123392915, 1.2__dropsFor_1.1.sql -903264949, 1.3.sql +-1470028617, 1.3.sql -692020559, 1.4__dropsFor_1.3.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.0__initial.model.xml b/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.0__initial.model.xml index 69b8c6851..9ff836afb 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.0__initial.model.xml +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.0__initial.model.xml @@ -44,6 +44,8 @@ + + diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.1.model.xml b/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.1.model.xml index cab8491ca..157488bc3 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.1.model.xml +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.1.model.xml @@ -24,6 +24,7 @@ -- rename all collisions + insert into migtest_e_user (id) select distinct user_id from migtest_e_basic diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.3.model.xml b/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.3.model.xml index a8189b797..25c5fedb2 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.3.model.xml +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.3.model.xml @@ -9,6 +9,7 @@ + diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.0__initial.sql index c3f5bfaf7..d7110e23e 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file longblob, + json_list json, + a_lob varchar(255) default 'X' not null, some_date datetime(6), old_boolean tinyint(1) default 0 not null, old_boolean2 tinyint(1), diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.1.sql index 01f05b8c1..b006574e9 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.1.sql @@ -62,6 +62,7 @@ alter table migtest_ckey_detail add column two_key varchar(127); alter table migtest_ckey_parent add column assoc_id integer; alter table migtest_e_basic modify status varchar(1) not null default 'A'; alter table migtest_e_basic modify status2 varchar(127); +alter table migtest_e_basic modify a_lob varchar(255); alter table migtest_e_basic modify user_id integer; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field tinyint(1) default 1 not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.3.sql index 95c5ae773..611437b14 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.3.sql @@ -24,6 +24,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; drop trigger migtest_e_history2_history_upd; drop trigger migtest_e_history2_history_del; @@ -43,6 +45,7 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null; -- apply alter tables alter table migtest_e_basic modify status varchar(1); alter table migtest_e_basic modify status2 varchar(1) not null default 'N'; +alter table migtest_e_basic modify a_lob varchar(255) not null default 'X'; alter table migtest_e_basic modify user_id integer not null default 23; alter table migtest_e_basic add column description_file longblob; alter table migtest_e_basic add column old_boolean tinyint(1) default 0 not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/idx_mysql.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/idx_mysql.migrations index 193b5ec78..1cc1f5865 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/idx_mysql.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/idx_mysql.migrations @@ -1,8 +1,8 @@ 1835064798, I__create_procs.sql --1623464972, 1.0__initial.sql --882132850, 1.1.sql +1531575623, 1.0__initial.sql +418413355, 1.1.sql -1332434945, 1.2__dropsFor_1.1.sql --1085730419, 1.3.sql +-105506677, 1.3.sql 379252952, 1.4__dropsFor_1.3.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.0__initial.sql index 4dcd2ae9f..f3da85ec0 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file longblob, + json_list json, + a_lob varchar(255) default 'X' not null, some_date datetime, old_boolean tinyint(1) default 0 not null, old_boolean2 tinyint(1), diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.1.sql index 01f05b8c1..b006574e9 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.1.sql @@ -62,6 +62,7 @@ alter table migtest_ckey_detail add column two_key varchar(127); alter table migtest_ckey_parent add column assoc_id integer; alter table migtest_e_basic modify status varchar(1) not null default 'A'; alter table migtest_e_basic modify status2 varchar(127); +alter table migtest_e_basic modify a_lob varchar(255); alter table migtest_e_basic modify user_id integer; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field tinyint(1) default 1 not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.3.sql index 95c5ae773..611437b14 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.3.sql @@ -24,6 +24,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; drop trigger migtest_e_history2_history_upd; drop trigger migtest_e_history2_history_del; @@ -43,6 +45,7 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null; -- apply alter tables alter table migtest_e_basic modify status varchar(1); alter table migtest_e_basic modify status2 varchar(1) not null default 'N'; +alter table migtest_e_basic modify a_lob varchar(255) not null default 'X'; alter table migtest_e_basic modify user_id integer not null default 23; alter table migtest_e_basic add column description_file longblob; alter table migtest_e_basic add column old_boolean tinyint(1) default 0 not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/idx_mysql.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/idx_mysql.migrations index d54a870ed..6c192bb8e 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/idx_mysql.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/idx_mysql.migrations @@ -1,8 +1,8 @@ 1835064798, I__create_procs.sql -529930619, 1.0__initial.sql --882132850, 1.1.sql +1425786329, 1.0__initial.sql +418413355, 1.1.sql -1332434945, 1.2__dropsFor_1.1.sql --1085730419, 1.3.sql +-105506677, 1.3.sql 379252952, 1.4__dropsFor_1.3.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.0__initial.sql index c02698fb4..568e5bb21 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file blob, + json_list clob, + a_lob varchar(255) default 'X' not null, some_date timestamp, old_boolean boolean default false not null, old_boolean2 boolean, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.1.sql index c7bf4e1f3..b618a9587 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.1.sql @@ -68,6 +68,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 varchar(127); alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 set null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob set null; alter table migtest_e_basic alter column user_id set null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field boolean default true not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.3.sql index 8c28ad2ad..7362489e6 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.3.sql @@ -27,6 +27,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; drop trigger migtest_e_history2_history_upd; drop trigger migtest_e_history2_history_del; @@ -49,6 +51,9 @@ alter table migtest_e_basic alter column status set null; alter table migtest_e_basic alter column status2 varchar(1); alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob varchar(255); +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file blob; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/idx_nuodb.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/idx_nuodb.migrations index 716175603..d3d0fd96b 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/idx_nuodb.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/idx_nuodb.migrations @@ -1,7 +1,7 @@ -1041350610, 1.0__initial.sql --1144238347, 1.1.sql +1842042513, 1.0__initial.sql +-1628340454, 1.1.sql -424253630, 1.2__dropsFor_1.1.sql --270701977, 1.3.sql +-1988156517, 1.3.sql -1189704269, 1.4__dropsFor_1.3.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.0__initial.sql index 8654939bf..528727be2 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar2(127), description varchar2(127), description_file blob, + json_list clob, + a_lob varchar2(255) default 'X' not null, some_date timestamp, old_boolean number(1) default 0 not null, old_boolean2 number(1), diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.1.sql index f07e7603e..662e1dd33 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.1.sql @@ -98,6 +98,8 @@ alter table migtest_e_basic modify status not null; alter table migtest_e_basic modify status2 varchar2(127); alter table migtest_e_basic modify status2 default null; alter table migtest_e_basic modify status2 null; +alter table migtest_e_basic modify a_lob default null; +alter table migtest_e_basic modify a_lob null; alter table migtest_e_basic modify user_id null; alter table migtest_e_basic add new_string_field varchar2(255) default 'foo''bar' not null; alter table migtest_e_basic add new_boolean_field number(1) default 1 not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.3.sql index e3eded2c5..38dad644b 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.3.sql @@ -99,6 +99,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; -- NOTE: table has @History - special migration may be necessary @@ -109,6 +111,9 @@ alter table migtest_e_basic modify status null; alter table migtest_e_basic modify status2 varchar2(1); alter table migtest_e_basic modify status2 default 'N'; alter table migtest_e_basic modify status2 not null; +alter table migtest_e_basic modify a_lob varchar2(255); +alter table migtest_e_basic modify a_lob default 'X'; +alter table migtest_e_basic modify a_lob not null; alter table migtest_e_basic modify user_id default 23; alter table migtest_e_basic modify user_id not null; alter table migtest_e_basic add description_file blob; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/idx_oracle.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/idx_oracle.migrations index 668715769..0176dd762 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/idx_oracle.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/idx_oracle.migrations @@ -1,7 +1,7 @@ --554067191, 1.0__initial.sql -187324506, 1.1.sql +2058445079, 1.0__initial.sql +-406177058, 1.1.sql -582436324, 1.2__dropsFor_1.1.sql --283226837, 1.3.sql +245787021, 1.3.sql 663051206, 1.4__dropsFor_1.3.sql 1357801733, R__oracle_only_views.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.0__initial.sql index 7886fee5f..4daef7bce 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.0__initial.sql @@ -69,6 +69,8 @@ create table migtest_e_basic ( name varchar2(127), description varchar2(127), description_file blob, + json_list clob, + a_lob varchar2(255) default 'X' not null, some_date timestamp, old_boolean number(1) default 0 not null, old_boolean2 number(1), diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.1.sql index 944a30188..d5c198c6b 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.1.sql @@ -99,6 +99,8 @@ alter table migtest_e_basic modify status not null; alter table migtest_e_basic modify status2 varchar2(127); alter table migtest_e_basic modify status2 default null; alter table migtest_e_basic modify status2 null; +alter table migtest_e_basic modify a_lob default null; +alter table migtest_e_basic modify a_lob null; alter table migtest_e_basic modify user_id null; alter table migtest_e_basic add new_string_field varchar2(255) default 'foo''bar' not null; alter table migtest_e_basic add new_boolean_field number(1) default 1 not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.3.sql index 30535ac51..f4ea1b1ee 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.3.sql @@ -100,6 +100,8 @@ create sequence migtest_e_ref_seq; update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; -- NOTE: table has @History - special migration may be necessary @@ -110,6 +112,9 @@ alter table migtest_e_basic modify status null; alter table migtest_e_basic modify status2 varchar2(1); alter table migtest_e_basic modify status2 default 'N'; alter table migtest_e_basic modify status2 not null; +alter table migtest_e_basic modify a_lob varchar2(255); +alter table migtest_e_basic modify a_lob default 'X'; +alter table migtest_e_basic modify a_lob not null; alter table migtest_e_basic modify user_id default 23; alter table migtest_e_basic modify user_id not null; alter table migtest_e_basic add description_file blob; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/idx_oracle.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/idx_oracle.migrations index caea324e2..163871480 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/idx_oracle.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/idx_oracle.migrations @@ -1,7 +1,7 @@ --712978357, 1.0__initial.sql --1852784090, 1.1.sql +-1132728964, 1.0__initial.sql +1635736608, 1.1.sql -582436324, 1.2__dropsFor_1.1.sql --734374474, 1.3.sql +2103586605, 1.3.sql 663051206, 1.4__dropsFor_1.3.sql 1357801733, R__oracle_only_views.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.0__initial.sql index f8dcf1b54..9e0e21cbc 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file bytea, + json_list json, + a_lob varchar(255) default 'X' not null, some_date timestamptz, old_boolean boolean default false not null, old_boolean2 boolean, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.1.sql index 40d28c763..7d7940d6c 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.1.sql @@ -78,6 +78,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 type varchar(127) using status2::varchar(127); alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 drop not null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob drop not null; alter table migtest_e_basic alter column user_id drop not null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field boolean default true not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.3.sql index e7bdfa534..40c43d938 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.3.sql @@ -27,6 +27,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; drop trigger if exists migtest_e_history2_history_upd on migtest_e_history2 cascade; drop function if exists migtest_e_history2_history_version(); @@ -53,6 +55,9 @@ alter table migtest_e_basic alter column status drop not null; alter table migtest_e_basic alter column status2 type varchar(1) using status2::varchar(1); alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob type varchar(255) using a_lob::varchar(255); +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file bytea; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/idx_postgres.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/idx_postgres.migrations index cf0d9a090..e62ed906f 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/idx_postgres.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/idx_postgres.migrations @@ -1,7 +1,7 @@ --125847545, 1.0__initial.sql --962575173, 1.1.sql +-1277453273, 1.0__initial.sql +-2141665406, 1.1.sql -1098989118, 1.2__dropsFor_1.1.sql -808262548, 1.3.sql +199465792, 1.3.sql 1729345905, 1.4__dropsFor_1.3.sql 783227075, R__multi_comments.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.0__initial.sql index b64178f90..e088febde 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file bytea, + json_list json, + a_lob varchar(255) default 'X' not null, some_date timestamptz, old_boolean boolean default false not null, old_boolean2 boolean, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.1.sql index 852771f46..6622865e2 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.1.sql @@ -78,6 +78,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 type varchar(127) using status2::varchar(127); alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 drop not null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob drop not null; alter table migtest_e_basic alter column user_id drop not null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field boolean default true not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.3.sql index 33d980263..aa87d0936 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.3.sql @@ -27,6 +27,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; drop trigger if exists migtest_e_history2_history_upd on migtest_e_history2 cascade; drop function if exists migtest_e_history2_history_version(); @@ -53,6 +55,9 @@ alter table migtest_e_basic alter column status drop not null; alter table migtest_e_basic alter column status2 type varchar(1) using status2::varchar(1); alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob type varchar(255) using a_lob::varchar(255); +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file bytea; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/idx_postgres.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/idx_postgres.migrations index e9d7134dc..753ebe59c 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/idx_postgres.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/idx_postgres.migrations @@ -1,7 +1,7 @@ --1050466540, 1.0__initial.sql --976679466, 1.1.sql +1678831678, 1.0__initial.sql +-1261465039, 1.1.sql -1098989118, 1.2__dropsFor_1.1.sql -303027582, 1.3.sql +39355920, 1.3.sql 1729345905, 1.4__dropsFor_1.3.sql 783227075, R__multi_comments.sql 561281075, R__order_views.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.0__initial.sql index a9b87d1e1..4b0911a54 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file binary(4500), + json_list long varchar, + a_lob varchar(255) default 'X' not null, some_date timestamp, old_boolean bit default false not null, old_boolean2 bit, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.1.sql index a1422148b..41b8f5b80 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.1.sql @@ -53,6 +53,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 varchar(127); alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 set null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob set null; alter table migtest_e_basic alter column user_id set null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field bit default true not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.3.sql index 95888a2ae..db54a5526 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.3.sql @@ -27,6 +27,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; -- NOTE: table has @History - special migration may be necessary @@ -37,6 +39,9 @@ alter table migtest_e_basic alter column status set null; alter table migtest_e_basic alter column status2 varchar(1); alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob varchar(255); +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file binary(4500); diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/idx_sqlanywhere.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/idx_sqlanywhere.migrations index 4300368c8..2b9baab48 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/idx_sqlanywhere.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/idx_sqlanywhere.migrations @@ -1,6 +1,6 @@ --2005091128, 1.0__initial.sql -887406340, 1.1.sql +874272908, 1.0__initial.sql +1253219479, 1.1.sql 1279151426, 1.2__dropsFor_1.1.sql --671185644, 1.3.sql +-894462776, 1.3.sql 80209848, 1.4__dropsFor_1.3.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.0__initial.sql index cf3ffe5d2..0f53a01bf 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.0__initial.sql @@ -63,6 +63,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file blob, + json_list clob, + a_lob varchar(255) default 'X' not null, some_date timestamp, old_boolean int default 0 not null, old_boolean2 int, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.1.sql index db27a8a5f..873ee0334 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.1.sql @@ -58,6 +58,8 @@ alter table migtest_ckey_parent add column assoc_id integer; -- not supported: alter table migtest_e_basic alter column status2 varchar(127); -- not supported: alter table migtest_e_basic alter column status2 drop default; -- not supported: alter table migtest_e_basic alter column status2 set null; +-- not supported: alter table migtest_e_basic alter column a_lob drop default; +-- not supported: alter table migtest_e_basic alter column a_lob set null; -- not supported: alter table migtest_e_basic alter column user_id set null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field int default 1 not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.3.sql index 3544092ff..0b0f96b0b 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.3.sql @@ -27,6 +27,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; -- NOTE: table has @History - special migration may be necessary @@ -37,6 +39,9 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null; -- not supported: alter table migtest_e_basic alter column status2 varchar(1); -- not supported: alter table migtest_e_basic alter column status2 set default 'N'; -- not supported: alter table migtest_e_basic alter column status2 set not null; +-- not supported: alter table migtest_e_basic alter column a_lob varchar(255); +-- not supported: alter table migtest_e_basic alter column a_lob set default 'X'; +-- not supported: alter table migtest_e_basic alter column a_lob set not null; -- not supported: alter table migtest_e_basic alter column user_id set default 23; -- not supported: alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file blob; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/idx_sqlite.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/idx_sqlite.migrations index b173dc34d..24bda4a35 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/idx_sqlite.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/idx_sqlite.migrations @@ -1,7 +1,7 @@ --990693989, 1.0__initial.sql -2071287662, 1.1.sql +-280067147, 1.0__initial.sql +1471316137, 1.1.sql 1279151426, 1.2__dropsFor_1.1.sql -1596396701, 1.3.sql +18475685, 1.3.sql 80209848, 1.4__dropsFor_1.3.sql 2034589659, R__order_views_sqlite.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.0__initial.sql index 48167f522..aca71555c 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file image, + json_list text, + a_lob varchar(255) default 'X' not null, some_date datetime2, old_boolean bit default 0 not null, old_boolean2 bit, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.1.sql index cf7074030..b731e5830 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.1.sql @@ -70,6 +70,8 @@ alter table migtest_e_basic alter column status varchar(1) not null; alter table migtest_e_basic add default 'A' for status; EXEC usp_ebean_drop_default_constraint migtest_e_basic, status2; alter table migtest_e_basic alter column status2 varchar(127); +EXEC usp_ebean_drop_default_constraint migtest_e_basic, a_lob; +alter table migtest_e_basic alter column a_lob varchar(255); alter table migtest_e_basic alter column user_id integer; alter table migtest_e_basic add new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add new_boolean_field bit default 1 not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.3.sql index 1c4007cd9..2fde6f6da 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.3.sql @@ -31,6 +31,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; -- alter table migtest_e_history2 set (system_versioning = off (history_table=dbo.migtest_e_history2_history)); -- history migration goes here @@ -53,6 +55,9 @@ alter table migtest_e_basic alter column status varchar(1); EXEC usp_ebean_drop_default_constraint migtest_e_basic, status2; alter table migtest_e_basic alter column status2 varchar(1) not null; alter table migtest_e_basic add default 'N' for status2; +EXEC usp_ebean_drop_default_constraint migtest_e_basic, a_lob; +alter table migtest_e_basic alter column a_lob varchar(255) not null; +alter table migtest_e_basic add default 'X' for a_lob; EXEC usp_ebean_drop_default_constraint migtest_e_basic, user_id; alter table migtest_e_basic alter column user_id integer not null; alter table migtest_e_basic add default 23 for user_id; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/idx_sqlserver.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/idx_sqlserver.migrations index 7c1d620b0..a8f498f63 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/idx_sqlserver.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/idx_sqlserver.migrations @@ -1,8 +1,8 @@ -2122378240, I__create_procs.sql -1067515901, 1.0__initial.sql -91948674, 1.1.sql +1442928133, 1.0__initial.sql +168980248, 1.1.sql -1687762822, 1.2__dropsFor_1.1.sql -1309342689, 1.3.sql +155669224, 1.3.sql -410961452, 1.4__dropsFor_1.3.sql 1607822082, R__order_views_mssql.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.0__initial.sql index 069b3ceff..df4dfb099 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.0__initial.sql @@ -69,6 +69,8 @@ create table migtest_e_basic ( name nvarchar(127), description nvarchar(127), description_file image, + json_list nvarchar(max), + a_lob nvarchar(255) default 'X' not null, some_date datetime2, old_boolean bit default 0 not null, old_boolean2 bit, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.1.sql index 71a4fffce..ae85f459d 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.1.sql @@ -71,6 +71,8 @@ alter table migtest_e_basic alter column status nvarchar(1) not null; alter table migtest_e_basic add default 'A' for status; EXEC usp_ebean_drop_default_constraint migtest_e_basic, status2; alter table migtest_e_basic alter column status2 nvarchar(127); +EXEC usp_ebean_drop_default_constraint migtest_e_basic, a_lob; +alter table migtest_e_basic alter column a_lob nvarchar(255); alter table migtest_e_basic alter column user_id integer; alter table migtest_e_basic add new_string_field nvarchar(255) default 'foo''bar' not null; alter table migtest_e_basic add new_boolean_field bit default 1 not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.3.sql index 408cb2287..de600ddb1 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.3.sql @@ -32,6 +32,8 @@ create sequence migtest_e_ref_seq as bigint start with 1; update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; -- alter table migtest_e_history2 set (system_versioning = off (history_table=dbo.migtest_e_history2_history)); -- history migration goes here @@ -54,6 +56,9 @@ alter table migtest_e_basic alter column status nvarchar(1); EXEC usp_ebean_drop_default_constraint migtest_e_basic, status2; alter table migtest_e_basic alter column status2 nvarchar(1) not null; alter table migtest_e_basic add default 'N' for status2; +EXEC usp_ebean_drop_default_constraint migtest_e_basic, a_lob; +alter table migtest_e_basic alter column a_lob nvarchar(255) not null; +alter table migtest_e_basic add default 'X' for a_lob; EXEC usp_ebean_drop_default_constraint migtest_e_basic, user_id; alter table migtest_e_basic alter column user_id integer not null; alter table migtest_e_basic add default 23 for user_id; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/idx_sqlserver.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/idx_sqlserver.migrations index 26cced804..eaaded292 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/idx_sqlserver.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/idx_sqlserver.migrations @@ -1,8 +1,8 @@ -2122378240, I__create_procs.sql --1941282829, 1.0__initial.sql --60811760, 1.1.sql +-199159570, 1.0__initial.sql +2140869743, 1.1.sql -1687762822, 1.2__dropsFor_1.1.sql -935437796, 1.3.sql +-476460378, 1.3.sql -410961452, 1.4__dropsFor_1.3.sql 1607822082, R__order_views_mssql.sql diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.0__initial.sql index e804f6651..159a176d6 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.0__initial.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.0__initial.sql @@ -61,6 +61,8 @@ create table migtest_e_basic ( name varchar(127), description varchar(127), description_file bytea, + json_list json, + a_lob varchar(255) default 'X' not null, some_date timestamptz, old_boolean boolean default false not null, old_boolean2 boolean, diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.1.sql index c386b8e42..55a97ccb3 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.1.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.1.sql @@ -73,6 +73,8 @@ alter table migtest_e_basic alter column status set not null; alter table migtest_e_basic alter column status2 type varchar(127) using status2::varchar(127); alter table migtest_e_basic alter column status2 drop default; alter table migtest_e_basic alter column status2 drop not null; +alter table migtest_e_basic alter column a_lob drop default; +alter table migtest_e_basic alter column a_lob drop not null; alter table migtest_e_basic alter column user_id drop not null; alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null; alter table migtest_e_basic add column new_boolean_field boolean default true not null; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.3.sql index b1630f0f1..997d95033 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.3.sql +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.3.sql @@ -27,6 +27,8 @@ create table migtest_e_ref ( update migtest_e_basic set status2 = 'N' where status2 is null; +update migtest_e_basic set a_lob = 'X' where a_lob is null; + update migtest_e_basic set user_id = 23 where user_id is null; drop trigger if exists migtest_e_history2_history_upd on migtest_e_history2 cascade; drop function if exists migtest_e_history2_history_version(); @@ -53,6 +55,9 @@ alter table migtest_e_basic alter column status drop not null; alter table migtest_e_basic alter column status2 type varchar(1) using status2::varchar(1); alter table migtest_e_basic alter column status2 set default 'N'; alter table migtest_e_basic alter column status2 set not null; +alter table migtest_e_basic alter column a_lob type varchar(255) using a_lob::varchar(255); +alter table migtest_e_basic alter column a_lob set default 'X'; +alter table migtest_e_basic alter column a_lob set not null; alter table migtest_e_basic alter column user_id set default 23; alter table migtest_e_basic alter column user_id set not null; alter table migtest_e_basic add column description_file bytea; diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/idx_yugabyte.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/idx_yugabyte.migrations index c10df2ab7..df428d942 100644 --- a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/idx_yugabyte.migrations +++ b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/idx_yugabyte.migrations @@ -1,7 +1,7 @@ --1111753161, 1.0__initial.sql --558299616, 1.1.sql +1817007763, 1.0__initial.sql +-2145787580, 1.1.sql -1098989118, 1.2__dropsFor_1.1.sql -930822202, 1.3.sql +30606484, 1.3.sql 1729345905, 1.4__dropsFor_1.3.sql 561281075, R__order_views.sql From ab6f5daec3c28cc2e8147f82206dd63c46543e23 Mon Sep 17 00:00:00 2001 From: Roland Praml Date: Thu, 17 Mar 2022 12:57:20 +0100 Subject: [PATCH 6/6] FIX LargeValueInsert-Test for DB2 --- .../test/java/org/tests/basic/lob/TestBasicClobNoVer.java | 7 +++++-- .../test/java/org/tests/model/basic/EBasicClobNoVer.java | 5 +++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ebean-test/src/test/java/org/tests/basic/lob/TestBasicClobNoVer.java b/ebean-test/src/test/java/org/tests/basic/lob/TestBasicClobNoVer.java index 274912594..5a2274e49 100644 --- a/ebean-test/src/test/java/org/tests/basic/lob/TestBasicClobNoVer.java +++ b/ebean-test/src/test/java/org/tests/basic/lob/TestBasicClobNoVer.java @@ -86,13 +86,16 @@ class TestBasicClobNoVer extends BaseTestCase { @Test void largeValueInsert() { EBasicClobNoVer bean = new EBasicClobNoVer(); - bean.setDescription(largeContent()); + String s = largeContent(); + bean.setDescription(s); DB.save(bean); + bean = DB.find(EBasicClobNoVer.class, bean.getId()); + assertThat(bean.getDescription()).isEqualTo(s); } private String largeContent() { Random random = new Random(); - StringBuilder sb = new StringBuilder(); + StringBuilder sb = new StringBuilder(1048577); for (int i = 0; i < 1048577; i++) { sb.append((char) (random.nextInt(26) + 'a')); } diff --git a/ebean-test/src/test/java/org/tests/model/basic/EBasicClobNoVer.java b/ebean-test/src/test/java/org/tests/model/basic/EBasicClobNoVer.java index f946eb82b..680fdf169 100644 --- a/ebean-test/src/test/java/org/tests/model/basic/EBasicClobNoVer.java +++ b/ebean-test/src/test/java/org/tests/model/basic/EBasicClobNoVer.java @@ -1,9 +1,12 @@ package org.tests.model.basic; +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Lob; import javax.persistence.OneToMany; + + import java.util.ArrayList; import java.util.List; @@ -19,6 +22,8 @@ public class EBasicClobNoVer { * Note that lobs default to FetchType.LAZY - see EBasicClobFetchEager. */ @Lob + // Required for largeValueInsert-test. DB2 allows by default only 1MB + @Column(columnDefinition = "db2;clob(2M);") private String description; @OneToMany