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