diff --git a/src/main/java/io/ebean/Ebean.java b/src/main/java/io/ebean/Ebean.java
index df48ce3ba..b29cbc3eb 100644
--- a/src/main/java/io/ebean/Ebean.java
+++ b/src/main/java/io/ebean/Ebean.java
@@ -113,7 +113,10 @@ import java.util.concurrent.ConcurrentHashMap;
*/
public final class Ebean {
private static final Logger logger = LoggerFactory.getLogger(Ebean.class);
-
+ static {
+ EbeanVersion.getVersion(); // initalizes the version class and logs the version.
+ }
+
/**
* Manages creation and cache of EbeanServers.
*/
diff --git a/src/main/java/io/ebean/EbeanServerFactory.java b/src/main/java/io/ebean/EbeanServerFactory.java
index 888b54647..0880dd25f 100644
--- a/src/main/java/io/ebean/EbeanServerFactory.java
+++ b/src/main/java/io/ebean/EbeanServerFactory.java
@@ -33,6 +33,10 @@ public class EbeanServerFactory {
private static SpiContainer container;
+ static {
+ EbeanVersion.getVersion(); // initalizes the version class and logs the version.
+ }
+
/**
* Initialise the container with clustering configuration.
*
diff --git a/src/main/java/io/ebean/EbeanVersion.java b/src/main/java/io/ebean/EbeanVersion.java
new file mode 100644
index 000000000..caf1fc9eb
--- /dev/null
+++ b/src/main/java/io/ebean/EbeanVersion.java
@@ -0,0 +1,43 @@
+package io.ebean;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+/**
+ * Class to determine the ebean version. (
+ * @author Roland Praml, FOCONIS AG
+ *
+ */
+public class EbeanVersion {
+ private EbeanVersion() {
+
+ }
+ private static final Logger logger = LoggerFactory.getLogger(EbeanVersion.class);
+
+ private static String version = "unknown";
+ static {
+ try {
+ Properties prop = new Properties();
+ InputStream in = Ebean.class.getResourceAsStream("/META-INF/maven/io.ebean/ebean/pom.properties");
+ if (in != null) {
+ prop.load(in);
+ in.close();
+ version = prop.getProperty("version");
+ }
+ logger.info("ebean version: {}", version);
+ } catch (IOException e) {
+ logger.warn("Could not determine ebean version: {}", e.getMessage());
+ }
+ }
+
+ /**
+ * Returns the ebean version (read from /META-INF/maven/io.ebean/ebean/pom.properties)
+ */
+ public static String getVersion() {
+ return version;
+ }
+
+}
diff --git a/src/main/java/io/ebean/config/DbMigrationConfig.java b/src/main/java/io/ebean/config/DbMigrationConfig.java
index 9b1457e1f..21ad71f4e 100644
--- a/src/main/java/io/ebean/config/DbMigrationConfig.java
+++ b/src/main/java/io/ebean/config/DbMigrationConfig.java
@@ -1,11 +1,16 @@
package io.ebean.config;
+import io.ebean.EbeanVersion;
import io.ebean.annotation.Platform;
import io.ebean.migration.MigrationConfig;
import io.ebean.migration.MigrationRunner;
+import io.ebean.util.StringHelper;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.Map;
import java.util.Properties;
@@ -116,6 +121,11 @@ public class DbMigrationConfig {
*/
protected boolean strictMode = true;
+ /**
+ * Contains the DDL-header information.
+ */
+ protected String ddlHeader;
+
/**
* Return the DB platform to generate migration DDL for.
*
@@ -387,6 +397,14 @@ public class DbMigrationConfig {
return patchResetChecksumOn;
}
+ /**
+ * Returns a DDL header prepend for each DDL. E.g. for copyright headers
+ * You can use placeholders like ${version} or ${timestamp} in properties file.
+ */
+ public String getDdlHeader() {
+ return ddlHeader;
+ }
+
/**
* Set migration versions that should have their checksum reset and not run.
*
@@ -454,6 +472,11 @@ public class DbMigrationConfig {
String adminPwd = properties.get("datasource." + serverName + ".password", dbPassword);
adminPwd = properties.get("datasource." + serverName + ".adminpassword", adminPwd);
dbPassword = properties.get("migration.dbpassword", adminPwd);
+ ddlHeader = properties.get("ddl.header", ddlHeader);
+ if (ddlHeader != null && !ddlHeader.isEmpty()) {
+ ddlHeader = StringHelper.replaceString(ddlHeader, "${version}", EbeanVersion.getVersion());
+ ddlHeader = StringHelper.replaceString(ddlHeader, "${timestamp}", ZonedDateTime.now().format( DateTimeFormatter.ISO_INSTANT ));
+ }
}
/**
diff --git a/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/BaseDdlHandler.java b/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/BaseDdlHandler.java
index d01e08adb..93a900b30 100644
--- a/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/BaseDdlHandler.java
+++ b/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/BaseDdlHandler.java
@@ -66,8 +66,13 @@ public class BaseDdlHandler implements DdlHandler {
}
@Override
- public void generateExtra(DdlWrite write) throws IOException {
- tableDdl.generateExtra(write);
+ public void generateProlog(DdlWrite write) throws IOException {
+ tableDdl.generateProlog(write);
+ }
+
+ @Override
+ public void generateEpilog(DdlWrite write) throws IOException {
+ tableDdl.generateEpilog(write);
}
@Override
diff --git a/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/DdlHandler.java b/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/DdlHandler.java
index 66d8c0fe1..f49cefbb1 100644
--- a/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/DdlHandler.java
+++ b/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/DdlHandler.java
@@ -41,5 +41,7 @@ public interface DdlHandler {
void generate(DdlWrite writer, DropIndex dropIndex) throws IOException;
- void generateExtra(DdlWrite write) throws IOException;
+ void generateProlog(DdlWrite write) throws IOException;
+
+ void generateEpilog(DdlWrite write) throws IOException;
}
diff --git a/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/TableDdl.java b/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/TableDdl.java
index 263c9e136..f938b0b89 100644
--- a/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/TableDdl.java
+++ b/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/TableDdl.java
@@ -68,8 +68,14 @@ public interface TableDdl {
*/
void generate(DdlWrite writer, DropIndex dropIndex) throws IOException;
+ /**
+ /**
+ * Generate any extra DDL such as stored procedures or TableValueParameters.
+ */
+ void generateProlog(DdlWrite write) throws IOException;
+
/**
* Generate any extra DDL such as regeneration of history triggers.
*/
- void generateExtra(DdlWrite write) throws IOException;
+ void generateEpilog(DdlWrite write) throws IOException;
}
diff --git a/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java b/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java
index d94c59837..455c802e8 100644
--- a/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java
+++ b/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java
@@ -656,14 +656,20 @@ public class BaseTableDdl implements TableDdl {
platformDdl.dropHistoryTable(writer, dropHistoryTable);
}
+ @Override
+ public void generateProlog(DdlWrite write) throws IOException {
+ platformDdl.generateProlog(write);
+ }
+
/**
* Called at the end to generate additional ddl such as regenerate history triggers.
*/
@Override
- public void generateExtra(DdlWrite write) throws IOException {
+ public void generateEpilog(DdlWrite write) throws IOException {
for (HistoryTableUpdate update : this.regenerateHistoryTriggers.values()) {
platformDdl.regenerateHistoryTriggers(write, update);
}
+ platformDdl.generateEpilog(write);
}
@Override
diff --git a/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl.java b/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl.java
index 66e5e64e0..af7d41453 100644
--- a/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl.java
+++ b/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl.java
@@ -617,4 +617,19 @@ public class PlatformDdl {
}
apply.append(String.format("comment on column %s.%s is '%s'", table, column, comment)).endOfStatement();
}
+
+ /**
+ * Use this to generate a prolog for each script (stored procedures)
+ */
+ public void generateProlog(DdlWrite write) throws IOException {
+
+ }
+
+ /**
+ * Use this to generate an epilog. Will be added at the end of script
+ */
+ public void generateEpilog(DdlWrite write) throws IOException {
+
+ }
+
}
diff --git a/src/main/java/io/ebeaninternal/dbmigration/model/CurrentModel.java b/src/main/java/io/ebeaninternal/dbmigration/model/CurrentModel.java
index c3b70769f..a90a56fb7 100644
--- a/src/main/java/io/ebeaninternal/dbmigration/model/CurrentModel.java
+++ b/src/main/java/io/ebeaninternal/dbmigration/model/CurrentModel.java
@@ -107,6 +107,10 @@ public class CurrentModel {
createDdl();
StringBuilder ddl = new StringBuilder(2000);
+ String header = server.getServerConfig().getMigrationConfig().getDdlHeader();
+ if (header != null && !header.isEmpty()) {
+ ddl.append(header).append('\n');
+ }
ddl.append(write.apply().getBuffer());
ddl.append(write.applyForeignKeys().getBuffer());
ddl.append(write.applyHistory().getBuffer());
@@ -122,6 +126,10 @@ public class CurrentModel {
createDdl();
StringBuilder ddl = new StringBuilder(2000);
+ String header = server.getServerConfig().getMigrationConfig().getDdlHeader();
+ if (header != null && !header.isEmpty()) {
+ ddl.append(header).append('\n');
+ }
ddl.append(write.dropAllForeignKeys().getBuffer());
ddl.append(write.dropAll().getBuffer());
@@ -139,7 +147,9 @@ public class CurrentModel {
write = new DdlWrite(new MConfiguration(), model);
DdlHandler handler = handler();
+ handler.generateProlog(write);
handler.generate(write, createChangeSet);
+ handler.generateEpilog(write);
}
}
diff --git a/src/main/java/io/ebeaninternal/dbmigration/model/PlatformDdlWriter.java b/src/main/java/io/ebeaninternal/dbmigration/model/PlatformDdlWriter.java
index facb992de..4529e0975 100644
--- a/src/main/java/io/ebeaninternal/dbmigration/model/PlatformDdlWriter.java
+++ b/src/main/java/io/ebeaninternal/dbmigration/model/PlatformDdlWriter.java
@@ -45,14 +45,14 @@ public class PlatformDdlWriter {
public void processMigration(Migration dbMigration, DdlWrite write, File writePath, String fullVersion) throws IOException {
DdlHandler handler = handler();
-
+ handler.generateProlog(write);
List changeSets = dbMigration.getChangeSet();
for (ChangeSet changeSet : changeSets) {
if (isApply(changeSet)) {
handler.generate(write, changeSet);
}
}
- handler.generateExtra(write);
+ handler.generateEpilog(write);
writePlatformDdl(write, writePath, fullVersion);
}
@@ -88,6 +88,10 @@ public class PlatformDdlWriter {
*/
protected void writeApplyDdl(Writer writer, DdlWrite write) throws IOException {
+ String header = config.getDdlHeader();
+ if (header != null) {
+ writer.append(header).append('\n');
+ }
// merge the apply buffers in the appropriate order
prependDropDependencies(writer, write.applyDropDependencies());
writer.append("-- apply changes\n");
diff --git a/src/main/java/io/ebeaninternal/dbmigration/model/build/ModelBuildBeanVisitor.java b/src/main/java/io/ebeaninternal/dbmigration/model/build/ModelBuildBeanVisitor.java
index bc96b0c87..74a7dd856 100644
--- a/src/main/java/io/ebeaninternal/dbmigration/model/build/ModelBuildBeanVisitor.java
+++ b/src/main/java/io/ebeaninternal/dbmigration/model/build/ModelBuildBeanVisitor.java
@@ -90,7 +90,9 @@ public class ModelBuildBeanVisitor implements BeanVisitor {
if (!descriptor.isIdTypePlatformDefault() || initialValue > 0 || allocationSize > 0) {
// explicitly set to use sequence or identity (generally not recommended practice)
if (IdType.IDENTITY == descriptor.getIdType()) {
- table.setIdentityType(IdentityType.IDENTITY);
+ if (!descriptor.isIdTypePlatformDefault()) {
+ table.setIdentityType(IdentityType.IDENTITY);
+ }
} else {
// explicit sequence defined
table.setIdentityType(IdentityType.SEQUENCE);
diff --git a/src/test/java/io/ebeaninternal/dbmigration/model/build/ModelBuild_compoundKeyTest.java b/src/test/java/io/ebeaninternal/dbmigration/model/build/ModelBuild_compoundKeyTest.java
index 1b29121fa..b62dae809 100644
--- a/src/test/java/io/ebeaninternal/dbmigration/model/build/ModelBuild_compoundKeyTest.java
+++ b/src/test/java/io/ebeaninternal/dbmigration/model/build/ModelBuild_compoundKeyTest.java
@@ -63,7 +63,7 @@ public class ModelBuild_compoundKeyTest extends BaseTestCase {
String apply = Helper.asText(this, "/assert/ModelBuild_compoundKeyTest/apply.sql");
String createDdl = currentModel.getCreateDdl();
- assertThat(createDdl).isEqualTo(apply);
+ assertThat(createDdl).startsWith("-- Generated by ebean").endsWith(apply);
}
@@ -81,6 +81,6 @@ public class ModelBuild_compoundKeyTest extends BaseTestCase {
String createDdl = currentModel.getCreateDdl();
String apply = Helper.asText(this, "/assert/ModelBuild_compoundKeyTest/apply.sql");
- assertThat(createDdl).isEqualTo(apply);
+ assertThat(createDdl).startsWith("-- Generated by ebean").endsWith(apply);
}
}
diff --git a/src/test/java/io/ebeaninternal/dbmigration/model/build/ModelBuild_explicitSequencesTest.java b/src/test/java/io/ebeaninternal/dbmigration/model/build/ModelBuild_explicitSequencesTest.java
index b2f37df0a..6e699e4de 100644
--- a/src/test/java/io/ebeaninternal/dbmigration/model/build/ModelBuild_explicitSequencesTest.java
+++ b/src/test/java/io/ebeaninternal/dbmigration/model/build/ModelBuild_explicitSequencesTest.java
@@ -45,7 +45,9 @@ public class ModelBuild_explicitSequencesTest extends BaseTestCase {
CurrentModel currentModel = new CurrentModel(ebeanServer);
String apply = currentModel.getCreateDdl();
- assertThat(apply).isEqualTo(Helper.asText(this, "/assert/ModelBuild_explicitSequencesTest/apply.sql"));
+ assertThat(apply)
+ .startsWith("-- Generated by ebean")
+ .endsWith(Helper.asText(this, "/assert/ModelBuild_explicitSequencesTest/apply.sql"));
}
@@ -56,7 +58,9 @@ public class ModelBuild_explicitSequencesTest extends BaseTestCase {
CurrentModel currentModel = new CurrentModel(ebeanServer);
String apply = currentModel.getCreateDdl();
- assertThat(apply).isEqualTo(Helper.asText(this, "/assert/ModelBuild_explicitSequencesTest/pg-apply.sql"));
+ assertThat(apply)
+ .startsWith("-- Generated by ebean")
+ .endsWith(Helper.asText(this, "/assert/ModelBuild_explicitSequencesTest/pg-apply.sql"));
}
diff --git a/src/test/resources/dbmigration/migrationtest/db2/1.0__initial.sql b/src/test/resources/dbmigration/migrationtest/db2/1.0__initial.sql
index ac49b8e02..a2eb29cff 100644
--- a/src/test/resources/dbmigration/migrationtest/db2/1.0__initial.sql
+++ b/src/test/resources/dbmigration/migrationtest/db2/1.0__initial.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_basic (
id integer generated by default as identity not null,
diff --git a/src/test/resources/dbmigration/migrationtest/db2/1.1.sql b/src/test/resources/dbmigration/migrationtest/db2/1.1.sql
index 6e54e10e2..a87c144d6 100644
--- a/src/test/resources/dbmigration/migrationtest/db2/1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/db2/1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_user (
id integer generated by default as identity not null,
diff --git a/src/test/resources/dbmigration/migrationtest/db2/1.2__dropsFor_1.1.sql b/src/test/resources/dbmigration/migrationtest/db2/1.2__dropsFor_1.1.sql
index 81b4fe749..602c2d381 100644
--- a/src/test/resources/dbmigration/migrationtest/db2/1.2__dropsFor_1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/db2/1.2__dropsFor_1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
alter table migtest_e_basic drop column old_boolean;
diff --git a/src/test/resources/dbmigration/migrationtest/db2/1.3.sql b/src/test/resources/dbmigration/migrationtest/db2/1.3.sql
index e1ff6206a..5c2deaf38 100644
--- a/src/test/resources/dbmigration/migrationtest/db2/1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/db2/1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_ref (
id integer generated by default as identity not null,
diff --git a/src/test/resources/dbmigration/migrationtest/db2/1.4__dropsFor_1.3.sql b/src/test/resources/dbmigration/migrationtest/db2/1.4__dropsFor_1.3.sql
index f4cb4ebd8..493c72e93 100644
--- a/src/test/resources/dbmigration/migrationtest/db2/1.4__dropsFor_1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/db2/1.4__dropsFor_1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
alter table migtest_e_basic drop column new_string_field;
diff --git a/src/test/resources/dbmigration/migrationtest/h2/1.0__initial.sql b/src/test/resources/dbmigration/migrationtest/h2/1.0__initial.sql
index 60dc196b2..b03ff9e59 100644
--- a/src/test/resources/dbmigration/migrationtest/h2/1.0__initial.sql
+++ b/src/test/resources/dbmigration/migrationtest/h2/1.0__initial.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_basic (
id integer auto_increment not null,
diff --git a/src/test/resources/dbmigration/migrationtest/h2/1.1.sql b/src/test/resources/dbmigration/migrationtest/h2/1.1.sql
index 88dc14a3d..eb40d76f3 100644
--- a/src/test/resources/dbmigration/migrationtest/h2/1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/h2/1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_user (
id integer auto_increment not null,
diff --git a/src/test/resources/dbmigration/migrationtest/h2/1.2__dropsFor_1.1.sql b/src/test/resources/dbmigration/migrationtest/h2/1.2__dropsFor_1.1.sql
index 652aa4dcb..057cfb3f3 100644
--- a/src/test/resources/dbmigration/migrationtest/h2/1.2__dropsFor_1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/h2/1.2__dropsFor_1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
alter table migtest_e_basic drop column old_boolean;
diff --git a/src/test/resources/dbmigration/migrationtest/h2/1.3.sql b/src/test/resources/dbmigration/migrationtest/h2/1.3.sql
index 3c1834cc4..47191bda1 100644
--- a/src/test/resources/dbmigration/migrationtest/h2/1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/h2/1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_ref (
id integer auto_increment not null,
diff --git a/src/test/resources/dbmigration/migrationtest/h2/1.4__dropsFor_1.3.sql b/src/test/resources/dbmigration/migrationtest/h2/1.4__dropsFor_1.3.sql
index ca2eda59b..fec1ee7a8 100644
--- a/src/test/resources/dbmigration/migrationtest/h2/1.4__dropsFor_1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/h2/1.4__dropsFor_1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- drop dependencies
drop trigger migtest_e_history_history_upd;
drop view migtest_e_history_with_history;
diff --git a/src/test/resources/dbmigration/migrationtest/hsqldb/1.0__initial.sql b/src/test/resources/dbmigration/migrationtest/hsqldb/1.0__initial.sql
index b5ba4b578..40bdf0daa 100644
--- a/src/test/resources/dbmigration/migrationtest/hsqldb/1.0__initial.sql
+++ b/src/test/resources/dbmigration/migrationtest/hsqldb/1.0__initial.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_basic (
id integer generated by default as identity (start with 1) not null,
diff --git a/src/test/resources/dbmigration/migrationtest/hsqldb/1.1.sql b/src/test/resources/dbmigration/migrationtest/hsqldb/1.1.sql
index b83f9267e..f258c4c21 100644
--- a/src/test/resources/dbmigration/migrationtest/hsqldb/1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/hsqldb/1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_user (
id integer generated by default as identity (start with 1) not null,
diff --git a/src/test/resources/dbmigration/migrationtest/hsqldb/1.2__dropsFor_1.1.sql b/src/test/resources/dbmigration/migrationtest/hsqldb/1.2__dropsFor_1.1.sql
index 652aa4dcb..057cfb3f3 100644
--- a/src/test/resources/dbmigration/migrationtest/hsqldb/1.2__dropsFor_1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/hsqldb/1.2__dropsFor_1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
alter table migtest_e_basic drop column old_boolean;
diff --git a/src/test/resources/dbmigration/migrationtest/hsqldb/1.3.sql b/src/test/resources/dbmigration/migrationtest/hsqldb/1.3.sql
index 29dae3bf0..3dec87912 100644
--- a/src/test/resources/dbmigration/migrationtest/hsqldb/1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/hsqldb/1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_ref (
id integer generated by default as identity (start with 1) not null,
diff --git a/src/test/resources/dbmigration/migrationtest/hsqldb/1.4__dropsFor_1.3.sql b/src/test/resources/dbmigration/migrationtest/hsqldb/1.4__dropsFor_1.3.sql
index 9e22e4a76..91d85f62b 100644
--- a/src/test/resources/dbmigration/migrationtest/hsqldb/1.4__dropsFor_1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/hsqldb/1.4__dropsFor_1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
alter table migtest_e_basic drop column new_string_field;
diff --git a/src/test/resources/dbmigration/migrationtest/mysql/1.0__initial.sql b/src/test/resources/dbmigration/migrationtest/mysql/1.0__initial.sql
index d0cd55dbd..c7136f74c 100644
--- a/src/test/resources/dbmigration/migrationtest/mysql/1.0__initial.sql
+++ b/src/test/resources/dbmigration/migrationtest/mysql/1.0__initial.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_basic (
id integer auto_increment not null,
diff --git a/src/test/resources/dbmigration/migrationtest/mysql/1.1.sql b/src/test/resources/dbmigration/migrationtest/mysql/1.1.sql
index 3299a9517..7b9e7054b 100644
--- a/src/test/resources/dbmigration/migrationtest/mysql/1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/mysql/1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_user (
id integer auto_increment not null,
diff --git a/src/test/resources/dbmigration/migrationtest/mysql/1.2__dropsFor_1.1.sql b/src/test/resources/dbmigration/migrationtest/mysql/1.2__dropsFor_1.1.sql
index 05a3f449e..0c6ddbf56 100644
--- a/src/test/resources/dbmigration/migrationtest/mysql/1.2__dropsFor_1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/mysql/1.2__dropsFor_1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
alter table migtest_e_basic drop column old_boolean;
diff --git a/src/test/resources/dbmigration/migrationtest/mysql/1.3.sql b/src/test/resources/dbmigration/migrationtest/mysql/1.3.sql
index 90f5f63d6..b325b79ae 100644
--- a/src/test/resources/dbmigration/migrationtest/mysql/1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/mysql/1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_ref (
id integer auto_increment not null,
diff --git a/src/test/resources/dbmigration/migrationtest/mysql/1.4__dropsFor_1.3.sql b/src/test/resources/dbmigration/migrationtest/mysql/1.4__dropsFor_1.3.sql
index f7207d883..41953acfe 100644
--- a/src/test/resources/dbmigration/migrationtest/mysql/1.4__dropsFor_1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/mysql/1.4__dropsFor_1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- drop dependencies
drop trigger migtest_e_history_history_upd;
drop trigger migtest_e_history_history_del;
diff --git a/src/test/resources/dbmigration/migrationtest/oracle/1.0__initial.sql b/src/test/resources/dbmigration/migrationtest/oracle/1.0__initial.sql
index 9cb945a13..75b731c36 100644
--- a/src/test/resources/dbmigration/migrationtest/oracle/1.0__initial.sql
+++ b/src/test/resources/dbmigration/migrationtest/oracle/1.0__initial.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_basic (
id number(10) not null,
diff --git a/src/test/resources/dbmigration/migrationtest/oracle/1.1.sql b/src/test/resources/dbmigration/migrationtest/oracle/1.1.sql
index 23faa95f0..6b7829121 100644
--- a/src/test/resources/dbmigration/migrationtest/oracle/1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/oracle/1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_user (
id number(10) not null,
diff --git a/src/test/resources/dbmigration/migrationtest/oracle/1.2__dropsFor_1.1.sql b/src/test/resources/dbmigration/migrationtest/oracle/1.2__dropsFor_1.1.sql
index 0e8f695a2..9851e7f65 100644
--- a/src/test/resources/dbmigration/migrationtest/oracle/1.2__dropsFor_1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/oracle/1.2__dropsFor_1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
alter table migtest_e_basic drop column old_boolean;
diff --git a/src/test/resources/dbmigration/migrationtest/oracle/1.3.sql b/src/test/resources/dbmigration/migrationtest/oracle/1.3.sql
index ab7ac0adc..e511427bb 100644
--- a/src/test/resources/dbmigration/migrationtest/oracle/1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/oracle/1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_ref (
id number(10) not null,
diff --git a/src/test/resources/dbmigration/migrationtest/oracle/1.4__dropsFor_1.3.sql b/src/test/resources/dbmigration/migrationtest/oracle/1.4__dropsFor_1.3.sql
index 5337f9fe6..d5272cd51 100644
--- a/src/test/resources/dbmigration/migrationtest/oracle/1.4__dropsFor_1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/oracle/1.4__dropsFor_1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
alter table migtest_e_basic drop column new_string_field;
diff --git a/src/test/resources/dbmigration/migrationtest/postgres/1.0__initial.sql b/src/test/resources/dbmigration/migrationtest/postgres/1.0__initial.sql
index 09be87a42..37a24ed33 100644
--- a/src/test/resources/dbmigration/migrationtest/postgres/1.0__initial.sql
+++ b/src/test/resources/dbmigration/migrationtest/postgres/1.0__initial.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_basic (
id serial not null,
diff --git a/src/test/resources/dbmigration/migrationtest/postgres/1.1.sql b/src/test/resources/dbmigration/migrationtest/postgres/1.1.sql
index 6838be60f..4bb9858ba 100644
--- a/src/test/resources/dbmigration/migrationtest/postgres/1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/postgres/1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- drop dependencies
drop view if exists migtest_e_history2_with_history;
diff --git a/src/test/resources/dbmigration/migrationtest/postgres/1.2__dropsFor_1.1.sql b/src/test/resources/dbmigration/migrationtest/postgres/1.2__dropsFor_1.1.sql
index b6fdce9f1..7917b78da 100644
--- a/src/test/resources/dbmigration/migrationtest/postgres/1.2__dropsFor_1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/postgres/1.2__dropsFor_1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
alter table migtest_e_basic drop column old_boolean;
diff --git a/src/test/resources/dbmigration/migrationtest/postgres/1.3.sql b/src/test/resources/dbmigration/migrationtest/postgres/1.3.sql
index 7dc779bc8..059350256 100644
--- a/src/test/resources/dbmigration/migrationtest/postgres/1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/postgres/1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_ref (
id serial not null,
diff --git a/src/test/resources/dbmigration/migrationtest/postgres/1.4__dropsFor_1.3.sql b/src/test/resources/dbmigration/migrationtest/postgres/1.4__dropsFor_1.3.sql
index 105207717..34086204d 100644
--- a/src/test/resources/dbmigration/migrationtest/postgres/1.4__dropsFor_1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/postgres/1.4__dropsFor_1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- drop dependencies
drop trigger if exists migtest_e_history_history_upd on migtest_e_history cascade;
drop function if exists migtest_e_history_history_version();
diff --git a/src/test/resources/dbmigration/migrationtest/sqlite/1.0__initial.sql b/src/test/resources/dbmigration/migrationtest/sqlite/1.0__initial.sql
index fb9e4c859..8145120ce 100644
--- a/src/test/resources/dbmigration/migrationtest/sqlite/1.0__initial.sql
+++ b/src/test/resources/dbmigration/migrationtest/sqlite/1.0__initial.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_basic (
id integer not null,
diff --git a/src/test/resources/dbmigration/migrationtest/sqlite/1.1.sql b/src/test/resources/dbmigration/migrationtest/sqlite/1.1.sql
index c649f78b8..e664099c4 100644
--- a/src/test/resources/dbmigration/migrationtest/sqlite/1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/sqlite/1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_user (
id integer not null,
diff --git a/src/test/resources/dbmigration/migrationtest/sqlite/1.2__dropsFor_1.1.sql b/src/test/resources/dbmigration/migrationtest/sqlite/1.2__dropsFor_1.1.sql
index 05a3f449e..0c6ddbf56 100644
--- a/src/test/resources/dbmigration/migrationtest/sqlite/1.2__dropsFor_1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/sqlite/1.2__dropsFor_1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
alter table migtest_e_basic drop column old_boolean;
diff --git a/src/test/resources/dbmigration/migrationtest/sqlite/1.3.sql b/src/test/resources/dbmigration/migrationtest/sqlite/1.3.sql
index 7593d6696..85c1872c4 100644
--- a/src/test/resources/dbmigration/migrationtest/sqlite/1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/sqlite/1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_ref (
id integer not null,
diff --git a/src/test/resources/dbmigration/migrationtest/sqlite/1.4__dropsFor_1.3.sql b/src/test/resources/dbmigration/migrationtest/sqlite/1.4__dropsFor_1.3.sql
index 957772584..12531750d 100644
--- a/src/test/resources/dbmigration/migrationtest/sqlite/1.4__dropsFor_1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/sqlite/1.4__dropsFor_1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
alter table migtest_e_basic drop column new_string_field;
diff --git a/src/test/resources/dbmigration/migrationtest/sqlserver/1.0__initial.sql b/src/test/resources/dbmigration/migrationtest/sqlserver/1.0__initial.sql
index 7c8eb6b47..dabb1f219 100644
--- a/src/test/resources/dbmigration/migrationtest/sqlserver/1.0__initial.sql
+++ b/src/test/resources/dbmigration/migrationtest/sqlserver/1.0__initial.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_basic (
id integer identity(1,1) not null,
diff --git a/src/test/resources/dbmigration/migrationtest/sqlserver/1.1.sql b/src/test/resources/dbmigration/migrationtest/sqlserver/1.1.sql
index 07aaf23d4..f8d092588 100644
--- a/src/test/resources/dbmigration/migrationtest/sqlserver/1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/sqlserver/1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_user (
id integer identity(1,1) not null,
diff --git a/src/test/resources/dbmigration/migrationtest/sqlserver/1.2__dropsFor_1.1.sql b/src/test/resources/dbmigration/migrationtest/sqlserver/1.2__dropsFor_1.1.sql
index b0b4bdf40..d3a7a9a24 100644
--- a/src/test/resources/dbmigration/migrationtest/sqlserver/1.2__dropsFor_1.1.sql
+++ b/src/test/resources/dbmigration/migrationtest/sqlserver/1.2__dropsFor_1.1.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
-- drop column migtest_e_basic.old_boolean;
IF (OBJECT_ID('uq_migtest_e_basic_old_boolean', 'UQ') IS NOT NULL) alter table migtest_e_basic drop constraint uq_migtest_e_basic_old_boolean;
@@ -39,3 +40,4 @@ IF OBJECT_ID('fk_migtest_e_basic_eref_id', 'F') IS NOT NULL alter table migtest_
alter table migtest_e_basic drop column eref_id;
IF OBJECT_ID('migtest_e_ref', 'U') IS NOT NULL drop table migtest_e_ref;
+IF OBJECT_ID('migtest_e_ref_seq', 'SO') IS NOT NULL drop sequence migtest_e_ref_seq;
diff --git a/src/test/resources/dbmigration/migrationtest/sqlserver/1.3.sql b/src/test/resources/dbmigration/migrationtest/sqlserver/1.3.sql
index 3700d2298..1fadd3ad6 100644
--- a/src/test/resources/dbmigration/migrationtest/sqlserver/1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/sqlserver/1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_e_ref (
id integer identity(1,1) not null,
diff --git a/src/test/resources/dbmigration/migrationtest/sqlserver/1.4__dropsFor_1.3.sql b/src/test/resources/dbmigration/migrationtest/sqlserver/1.4__dropsFor_1.3.sql
index 8d4df2e09..745ec6bd2 100644
--- a/src/test/resources/dbmigration/migrationtest/sqlserver/1.4__dropsFor_1.3.sql
+++ b/src/test/resources/dbmigration/migrationtest/sqlserver/1.4__dropsFor_1.3.sql
@@ -1,3 +1,4 @@
+-- Migrationscripts for ebean unittest
-- apply changes
-- drop column migtest_e_basic.new_string_field;
IF (OBJECT_ID('uq_migtest_e_basic_new_string_field', 'UQ') IS NOT NULL) alter table migtest_e_basic drop constraint uq_migtest_e_basic_new_string_field;
@@ -104,6 +105,7 @@ IF OBJECT_ID('fk_migtest_e_softdelete_deleted', 'F') IS NOT NULL alter table mig
alter table migtest_e_softdelete drop column deleted;
IF OBJECT_ID('migtest_e_user', 'U') IS NOT NULL drop table migtest_e_user;
+IF OBJECT_ID('migtest_e_user_seq', 'SO') IS NOT NULL drop sequence migtest_e_user_seq;
-- dropping history support for migtest_e_history;
delimiter $$
DECLARE @Tmp nvarchar(200);select @Tmp = t1.name from sys.default_constraints t1
diff --git a/src/test/resources/ebean.properties b/src/test/resources/ebean.properties
index 22eb59a86..de6dedf71 100644
--- a/src/test/resources/ebean.properties
+++ b/src/test/resources/ebean.properties
@@ -18,6 +18,7 @@ ebean.encryptKeyManager=org.tests.basic.encrypt.BasicEncyptKeyManager
ebean.sqlserver.ddl.createOnly=true
ebean.ddl.generate=true
ebean.ddl.run=true
+ebean.ddl.header=-- Generated by ebean ${version} at ${timestamp}
ebean.packages=org.tests
datasource.default=h2
@@ -152,6 +153,7 @@ datasource.migrationtest.databaseDriver=org.h2.Driver
ebean.migrationtest.applyPrefix=V
ebean.migrationtest.ddl.generate=false
ebean.migrationtest.ddl.run=false
+ebean.migrationtest.ddl.header=-- Migrationscripts for ebean unittest
ebean.migrationtest.migration.appName=migrationtest
ebean.migrationtest.migration.migrationPath=dbmigration/migrationtest
ebean.migrationtest.migration.strict=true