From 07c8f84da232f2d25d1083dc5b6172686b3ab689 Mon Sep 17 00:00:00 2001
From: NSzemenyei <63635801+NSzemenyei@users.noreply.github.com>
Date: Thu, 17 Feb 2022 08:03:54 +0100
Subject: [PATCH] Different ColumnDefinition for different platforms (#62)
* solution v1
* migration changes
* change test field + new migrations
* fix poms
---
.../ddlgeneration/platform/PlatformDdl.java | 22 +++++++++++++++++++
.../test/java/misc/migration/v1_0/EBasic.java | 4 ++++
.../dbmigration/db2luw/1.0__initial.sql | 1 +
.../dbmigration/db2luw/1.2__dropsFor_1.1.sql | 2 ++
.../dbmigration/db2luw/idx_db2.migrations | 4 ++--
.../dbmigration/h2/1.0__initial.sql | 1 +
.../dbmigration/h2/1.2__dropsFor_1.1.sql | 2 ++
.../dbmigration/h2/idx_h2.migrations | 4 ++--
.../dbmigration/hana/1.0__initial.sql | 1 +
.../dbmigration/hana/1.2__dropsFor_1.1.sql | 2 ++
.../dbmigration/hana/idx_hana.migrations | 4 ++--
.../dbmigration/hsqldb/1.0__initial.sql | 1 +
.../dbmigration/hsqldb/1.2__dropsFor_1.1.sql | 2 ++
.../dbmigration/hsqldb/idx_hsqldb.migrations | 4 ++--
.../dbmigration/mariadb/1.0__initial.sql | 1 +
.../dbmigration/mariadb/1.2__dropsFor_1.1.sql | 2 ++
.../mariadb/idx_mariadb.migrations | 4 ++--
.../dbmigration/model/1.0__initial.model.xml | 1 +
.../dbmigration/model/1.1.model.xml | 1 +
.../model/1.2__dropsFor_1.1.model.xml | 1 +
.../dbmigration/mysql/1.0__initial.sql | 1 +
.../dbmigration/mysql/1.2__dropsFor_1.1.sql | 2 ++
.../dbmigration/mysql/idx_mysql.migrations | 4 ++--
.../dbmigration/mysql55/1.0__initial.sql | 1 +
.../dbmigration/mysql55/1.2__dropsFor_1.1.sql | 2 ++
.../dbmigration/mysql55/idx_mysql.migrations | 4 ++--
.../dbmigration/oracle/1.0__initial.sql | 1 +
.../dbmigration/oracle/1.2__dropsFor_1.1.sql | 2 ++
.../dbmigration/oracle/idx_oracle.migrations | 4 ++--
.../dbmigration/postgres/1.0__initial.sql | 1 +
.../postgres/1.2__dropsFor_1.1.sql | 2 ++
.../postgres/idx_postgres.migrations | 4 ++--
.../dbmigration/sqlite/1.0__initial.sql | 1 +
.../dbmigration/sqlite/1.2__dropsFor_1.1.sql | 2 ++
.../dbmigration/sqlite/idx_sqlite.migrations | 4 ++--
.../dbmigration/sqlserver17/1.0__initial.sql | 1 +
.../sqlserver17/1.2__dropsFor_1.1.sql | 2 ++
.../sqlserver17/idx_sqlserver.migrations | 4 ++--
.../dbmigration/yugabyte/1.0__initial.sql | 1 +
.../yugabyte/1.2__dropsFor_1.1.sql | 2 ++
.../yugabyte/idx_yugabyte.migrations | 4 ++--
41 files changed, 89 insertions(+), 24 deletions(-)
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl.java
index 4e39a0b34..34d7f7ebc 100644
--- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl.java
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl.java
@@ -1,6 +1,7 @@
package io.ebeaninternal.dbmigration.ddlgeneration.platform;
import io.ebean.annotation.ConstraintMode;
+import io.ebean.annotation.Platform;
import io.ebean.config.DatabaseConfig;
import io.ebean.config.DbConstraintNaming;
import io.ebean.config.dbplatform.DatabasePlatform;
@@ -24,6 +25,7 @@ import io.ebeaninternal.dbmigration.model.MTable;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
+import java.util.Locale;
/**
* Controls the DDL generation for a specific database platform.
@@ -317,12 +319,32 @@ public class PlatformDdl {
if (type == null) {
return null;
}
+
+ type = extract(type);
+
if (type.contains("[]")) {
return convertArrayType(type);
}
return typeConverter.convert(type);
}
+ // if columnType is different for different platforms, use pattern
+ // @Column(columnDefinition = PLATFORM1;DEFINITION1;PLATFORM2;DEFINITON2;DEFINITON-DEFAULT)
+ // e.g. @Column(columnDefinition = "db2;blob(64M);sqlserver,h2;varchar(227);varchar(127)")
+ private String extract(String type) {
+ String[] tmp = type.split(";");
+ assert tmp.length % 2 == 1;
+ for (int i = 0; i < tmp.length - 2; i+=2) {
+ String[] platforms = tmp[i].split(",");
+ for (String plat : platforms) {
+ if (platform.isPlatform(Platform.valueOf(plat.toUpperCase(Locale.ENGLISH)))) {
+ return tmp[i+1];
+ }
+ }
+ }
+ return tmp[tmp.length-1]; // else
+ }
+
/**
* Convert the logical array type to a db platform specific type to support the array data.
*/
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 d43ae7292..fed2fb308 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
@@ -6,6 +6,7 @@ import io.ebean.annotation.Index;
import io.ebean.annotation.NotNull;
import io.ebean.annotation.Tablespace;
+import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
@@ -44,6 +45,9 @@ public class EBasic {
@Size(max=127)
String description;
+ @Column(columnDefinition = "db2;blob(64M);sqlserver,h2;varchar(227);varchar(127)")
+ String description2;
+
Timestamp someDate;
boolean old_boolean;
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 ee7de7978..7780238f0 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
@@ -60,6 +60,7 @@ create table migtest_e_basic (
status2 varchar(1) default 'N' not null,
name varchar(127),
description varchar(127),
+ description2 blob(64M),
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.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.2__dropsFor_1.1.sql
index 0516c7c06..994c1c20c 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.2__dropsFor_1.1.sql
@@ -1,5 +1,7 @@
-- Migrationscripts for ebean unittest
-- apply changes
+alter table migtest_e_basic drop column description2;
+
alter table migtest_e_basic drop column old_boolean;
alter table migtest_e_basic drop column old_boolean2;
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 ea4916d39..1e639e6a8 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 @@
-1602289007, I__create_tablespaces.sql
-999346633, 1.0__initial.sql
+1822640619, 1.0__initial.sql
2079409430, 1.1.sql
-1091886546, 1.2__dropsFor_1.1.sql
+327260977, 1.2__dropsFor_1.1.sql
-1291483335, 1.3.sql
1293885677, 1.4__dropsFor_1.3.sql
-133543359, R__db2_explain_tables.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 1e2a4095f..19f353e7f 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
@@ -60,6 +60,7 @@ create table migtest_e_basic (
status2 varchar(1) default 'N' not null,
name varchar(127),
description varchar(127),
+ description2 varchar(227),
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.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.2__dropsFor_1.1.sql
index dea5dde03..d0d876e15 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.2__dropsFor_1.1.sql
@@ -3,6 +3,8 @@
drop view if exists migtest_e_history2_with_history;
-- apply changes
+alter table migtest_e_basic drop column description2;
+
alter table migtest_e_basic drop column old_boolean;
alter table migtest_e_basic drop column old_boolean2;
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 c5bafc1f6..a99a1d97f 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,6 +1,6 @@
--745768926, 1.0__initial.sql
+-1018429770, 1.0__initial.sql
1409369419, 1.1.sql
-1616986842, 1.2__dropsFor_1.1.sql
+-1904864828, 1.2__dropsFor_1.1.sql
-1513154593, 1.3.sql
1549130952, 1.4__dropsFor_1.3.sql
783227075, R__multi_comments.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 837424e6d..aee46f613 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
@@ -60,6 +60,7 @@ create column table migtest_e_basic (
status2 nvarchar(1) default 'N' not null,
name nvarchar(127),
description nvarchar(127),
+ description2 nvarchar(127),
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.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.2__dropsFor_1.1.sql
index a69417f3e..64f40e605 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.2__dropsFor_1.1.sql
@@ -1,5 +1,7 @@
-- Migrationscripts for ebean unittest
-- apply changes
+CALL usp_ebean_drop_column('migtest_e_basic', 'description2');
+
CALL usp_ebean_drop_column('migtest_e_basic', 'old_boolean');
CALL usp_ebean_drop_column('migtest_e_basic', 'old_boolean2');
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 521c0c0b7..a9537f7d5 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,6 +1,6 @@
--1536923954, 1.0__initial.sql
+-809467006, 1.0__initial.sql
-1152055114, 1.1.sql
-562867593, 1.2__dropsFor_1.1.sql
+1569252375, 1.2__dropsFor_1.1.sql
1566488731, 1.3.sql
201970227, 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 40616be0a..bfd24e3b1 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
@@ -60,6 +60,7 @@ create table migtest_e_basic (
status2 varchar(1) default 'N' not null,
name varchar(127),
description varchar(127),
+ description2 varchar(127),
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.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.2__dropsFor_1.1.sql
index 6fb11c3a4..bfe2be7bb 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.2__dropsFor_1.1.sql
@@ -1,5 +1,7 @@
-- Migrationscripts for ebean unittest
-- apply changes
+alter table migtest_e_basic drop column description2;
+
alter table migtest_e_basic drop column old_boolean;
alter table migtest_e_basic drop column old_boolean2;
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 c754652e1..96334f2ea 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,6 +1,6 @@
-2097980375, 1.0__initial.sql
+1113607799, 1.0__initial.sql
-865579750, 1.1.sql
--1462014216, 1.2__dropsFor_1.1.sql
+2029151368, 1.2__dropsFor_1.1.sql
-2039573992, 1.3.sql
-1763496614, 1.4__dropsFor_1.3.sql
861001272, R__order_views_hsqldb.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 dd7505e20..1d2a9a5b8 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
@@ -60,6 +60,7 @@ create table migtest_e_basic (
status2 varchar(1) default 'N' not null,
name varchar(127),
description varchar(127),
+ description2 varchar(127),
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.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.2__dropsFor_1.1.sql
index a60e90858..e92aaf712 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.2__dropsFor_1.1.sql
@@ -1,5 +1,7 @@
-- Migrationscripts for ebean unittest
-- apply changes
+CALL usp_ebean_drop_column('migtest_e_basic', 'description2');
+
CALL usp_ebean_drop_column('migtest_e_basic', 'old_boolean');
CALL usp_ebean_drop_column('migtest_e_basic', 'old_boolean2');
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 4ba501e5d..0d2f8e861 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,7 +1,7 @@
1835064798, I__create_procs.sql
-1615386118, 1.0__initial.sql
+629411155, 1.0__initial.sql
128637084, 1.1.sql
--116088700, 1.2__dropsFor_1.1.sql
+-1078955818, 1.2__dropsFor_1.1.sql
-1957738355, 1.3.sql
930722740, 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 daeab815e..ecb6d8163 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
@@ -43,6 +43,7 @@
+
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 c4692737c..96a9f8dfd 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
@@ -113,6 +113,7 @@
+
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.2__dropsFor_1.1.model.xml b/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.2__dropsFor_1.1.model.xml
index 59bf48a8f..19ff281e3 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.2__dropsFor_1.1.model.xml
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/model/1.2__dropsFor_1.1.model.xml
@@ -1,6 +1,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 ce464c473..c4ae8fe79 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
@@ -60,6 +60,7 @@ create table migtest_e_basic (
status2 varchar(1) default 'N' not null,
name varchar(127),
description varchar(127),
+ description2 varchar(127),
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.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.2__dropsFor_1.1.sql
index a22adf90b..3e6410977 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.2__dropsFor_1.1.sql
@@ -3,6 +3,8 @@
drop view if exists migtest_e_history2_with_history;
-- apply changes
+CALL usp_ebean_drop_column('migtest_e_basic', 'description2');
+
CALL usp_ebean_drop_column('migtest_e_basic', 'old_boolean');
CALL usp_ebean_drop_column('migtest_e_basic', 'old_boolean2');
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 4bb99f9cb..127648cc0 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,7 +1,7 @@
1835064798, I__create_procs.sql
-1075178692, 1.0__initial.sql
+-625233983, 1.0__initial.sql
-1627573867, 1.1.sql
-1922991807, 1.2__dropsFor_1.1.sql
+426154419, 1.2__dropsFor_1.1.sql
-380371830, 1.3.sql
-1373040825, 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 0a76ab174..a7229076e 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
@@ -60,6 +60,7 @@ create table migtest_e_basic (
status2 varchar(1) default 'N' not null,
name varchar(127),
description varchar(127),
+ description2 varchar(127),
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.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.2__dropsFor_1.1.sql
index b3317f701..5f1542ee6 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.2__dropsFor_1.1.sql
@@ -3,6 +3,8 @@
drop view if exists migtest_e_history2_with_history;
-- apply changes
+alter table migtest_e_basic drop column description2;
+
alter table migtest_e_basic drop column old_boolean;
alter table migtest_e_basic drop column old_boolean2;
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 48d7df33a..41928335d 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,6 +1,6 @@
--1087663151, 1.0__initial.sql
+-753661440, 1.0__initial.sql
-1627573867, 1.1.sql
-1029390755, 1.2__dropsFor_1.1.sql
+741043957, 1.2__dropsFor_1.1.sql
-380371830, 1.3.sql
-724776884, 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 09a800c07..5dd163926 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
@@ -60,6 +60,7 @@ create table migtest_e_basic (
status2 varchar2(1) default 'N' not null,
name varchar2(127),
description varchar2(127),
+ description2 varchar2(127),
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.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.2__dropsFor_1.1.sql
index 4f2337db3..68847f4cc 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.2__dropsFor_1.1.sql
@@ -1,5 +1,7 @@
-- Migrationscripts for ebean unittest
-- apply changes
+alter table migtest_e_basic drop column description2;
+
alter table migtest_e_basic drop column old_boolean;
alter table migtest_e_basic drop column old_boolean2;
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 784f0c1d5..f549ab768 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,6 +1,6 @@
-1164675950, 1.0__initial.sql
+-1818229777, 1.0__initial.sql
-411370666, 1.1.sql
-238598298, 1.2__dropsFor_1.1.sql
+521762942, 1.2__dropsFor_1.1.sql
483114276, 1.3.sql
-629809805, 1.4__dropsFor_1.3.sql
1357801733, R__oracle_only_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 af08de6d3..c181e29d5 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
@@ -60,6 +60,7 @@ create table migtest_e_basic (
status2 varchar(1) default 'N' not null,
name varchar(127),
description varchar(127),
+ description2 varchar(127),
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.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.2__dropsFor_1.1.sql
index c9a6d03e6..c98a15504 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.2__dropsFor_1.1.sql
@@ -3,6 +3,8 @@
drop view if exists migtest_e_history2_with_history;
-- apply changes
+alter table migtest_e_basic drop column description2;
+
alter table migtest_e_basic drop column old_boolean;
alter table migtest_e_basic drop column old_boolean2;
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 38e13bc57..8870c305e 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,6 +1,6 @@
-1329543701, 1.0__initial.sql
+1713516005, 1.0__initial.sql
1548995254, 1.1.sql
--1861367028, 1.2__dropsFor_1.1.sql
+-1155149746, 1.2__dropsFor_1.1.sql
-1798982281, 1.3.sql
-1991941691, 1.4__dropsFor_1.3.sql
783227075, R__multi_comments.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 1a4944f30..d6641c368 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
@@ -62,6 +62,7 @@ create table migtest_e_basic (
status2 varchar(1) default 'N' not null,
name varchar(127),
description varchar(127),
+ description2 varchar(127),
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.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.2__dropsFor_1.1.sql
index 3f8f468ba..6ca9bbadc 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.2__dropsFor_1.1.sql
@@ -1,5 +1,7 @@
-- Migrationscripts for ebean unittest
-- apply changes
+alter table migtest_e_basic drop column description2;
+
alter table migtest_e_basic drop column old_boolean;
alter table migtest_e_basic drop column old_boolean2;
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 25e367a67..10931cc54 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,6 +1,6 @@
-1429491518, 1.0__initial.sql
+1636161797, 1.0__initial.sql
-1974335860, 1.1.sql
-1359055889, 1.2__dropsFor_1.1.sql
+519662611, 1.2__dropsFor_1.1.sql
-1764531063, 1.3.sql
-1045594368, 1.4__dropsFor_1.3.sql
2034589659, R__order_views_sqlite.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 13b5da203..3c089ee50 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
@@ -68,6 +68,7 @@ create table migtest_e_basic (
status2 nvarchar(1) default 'N' not null,
name nvarchar(127),
description nvarchar(127),
+ description2 nvarchar(227),
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.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.2__dropsFor_1.1.sql
index b34091486..e88590502 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.2__dropsFor_1.1.sql
@@ -1,5 +1,7 @@
-- Migrationscripts for ebean unittest
-- apply changes
+EXEC usp_ebean_drop_column migtest_e_basic, description2;
+
EXEC usp_ebean_drop_column migtest_e_basic, old_boolean;
EXEC usp_ebean_drop_column migtest_e_basic, old_boolean2;
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 388adffc2..e6a71e48d 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,7 +1,7 @@
-2122378240, I__create_procs.sql
--1048913407, 1.0__initial.sql
+-1036149520, 1.0__initial.sql
-898063858, 1.1.sql
--1805601919, 1.2__dropsFor_1.1.sql
+1470614292, 1.2__dropsFor_1.1.sql
-1791137342, 1.3.sql
-1335541264, 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 702b0317d..11f764f24 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
@@ -60,6 +60,7 @@ create table migtest_e_basic (
status2 varchar(1) default 'N' not null,
name varchar(127),
description varchar(127),
+ description2 varchar(127),
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.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.2__dropsFor_1.1.sql
index c9a6d03e6..c98a15504 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.2__dropsFor_1.1.sql
@@ -3,6 +3,8 @@
drop view if exists migtest_e_history2_with_history;
-- apply changes
+alter table migtest_e_basic drop column description2;
+
alter table migtest_e_basic drop column old_boolean;
alter table migtest_e_basic drop column old_boolean2;
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 4dd2bc71e..4e6378338 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,6 +1,6 @@
--1449071956, 1.0__initial.sql
+603721056, 1.0__initial.sql
1985413053, 1.1.sql
--1861367028, 1.2__dropsFor_1.1.sql
+-1155149746, 1.2__dropsFor_1.1.sql
2034977550, 1.3.sql
-1991941691, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql