From 1049d951d97dbd0684c4a2226069ff6155915a56 Mon Sep 17 00:00:00 2001
From: Roland Praml
Date: Tue, 8 Mar 2022 12:39:44 +0100
Subject: [PATCH 1/4] Code changes to group alterTables by tableName
---
.../ddlgeneration/DdlAlterTable.java | 45 ++++++
.../dbmigration/ddlgeneration/DdlWrite.java | 98 +++++++++++
.../platform/AbstractHanaDdl.java | 108 ++++++++++---
.../platform/BaseAlterTableWrite.java | 152 ++++++++++++++++++
.../ddlgeneration/platform/BaseTableDdl.java | 111 +++++++------
.../platform/DbTriggerBasedHistoryDdl.java | 41 ++---
.../platform/HanaHistoryDdl.java | 26 +--
.../ddlgeneration/platform/HanaTableDdl.java | 34 ++--
.../ddlgeneration/platform/PlatformDdl.java | 55 +++----
.../platform/PostgresHistoryDdl.java | 7 +-
.../ddlgeneration/platform/SQLiteDdl.java | 38 +++--
.../dbmigration/model/CurrentModel.java | 19 ++-
.../dbmigration/model/PlatformDdlWriter.java | 17 +-
13 files changed, 547 insertions(+), 204 deletions(-)
create mode 100644 ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/DdlAlterTable.java
create mode 100644 ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseAlterTableWrite.java
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/DdlAlterTable.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/DdlAlterTable.java
new file mode 100644
index 000000000..c59666599
--- /dev/null
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/DdlAlterTable.java
@@ -0,0 +1,45 @@
+package io.ebeaninternal.dbmigration.ddlgeneration;
+
+import java.io.IOException;
+
+/**
+ * Object that represents an Alter Table statements. Table alters are grouped together by tableName in DDL and can be extended by
+ * a ddl-specific handler (e.g. doing a reorg for DB2 or implement special grouping for Hana). There is one instance per table.
+ *
+ * @author TODO Roland Praml, FOCONIS AG
+ */
+public interface DdlAlterTable {
+
+ /**
+ * Writes the alter table statements to target
+ */
+ void write(Appendable target) throws IOException;
+
+ /**
+ * Adds an alter table command for given column. When you invoke
+ * alterTable(writer, "my_table").add("alter column","my_column).append("type integer") the resulting DDL (in
+ * standard implementation) would be
+ * alter table my_table alter column my_column type integer
+ *
+ * @return a DdlBuffer, which can be used for further appends. Note you MUST NOT call .endOfStatement() on this
+ * buffer.
+ */
+ DdlBuffer append(String operation, String columnName);
+
+ /**
+ * Adds a raw command. This is mainly used for executing user stored procedures.
+ */
+ DdlBuffer raw(String string);
+
+ /**
+ * Flag that detects if history DDL (switching on) is handled for this table.
+ */
+ boolean isHistoryHandled();
+
+ /**
+ * Sets the history handled flag for this table.
+ */
+ void setHistoryHandled();
+
+
+}
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/DdlWrite.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/DdlWrite.java
index eff523d09..a0abf8350 100644
--- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/DdlWrite.java
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/DdlWrite.java
@@ -1,5 +1,10 @@
package io.ebeaninternal.dbmigration.ddlgeneration;
+import java.io.IOException;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.function.Function;
+
import io.ebeaninternal.dbmigration.ddlgeneration.platform.BaseDdlBuffer;
import io.ebeaninternal.dbmigration.model.MConfiguration;
import io.ebeaninternal.dbmigration.model.MTable;
@@ -16,6 +21,10 @@ public class DdlWrite {
private final DdlBuffer apply = new BaseDdlBuffer();
+ private final Map applyAlterTables = new TreeMap<>();
+
+ private final DdlBuffer applyPostAlter = new BaseDdlBuffer();
+
private final DdlBuffer applyForeignKeys = new BaseDdlBuffer();
private final DdlBuffer applyHistoryView = new BaseDdlBuffer();
@@ -66,12 +75,21 @@ public class DdlWrite {
*/
public boolean isApplyEmpty() {
return apply.getBuffer().isEmpty()
+ && applyAlterTables.isEmpty()
+ && applyPostAlter.getBuffer().isEmpty()
&& applyForeignKeys.getBuffer().isEmpty()
&& applyHistoryView.getBuffer().isEmpty()
&& applyHistoryTrigger.getBuffer().isEmpty()
&& applyDropDependencies.getBuffer().isEmpty();
}
+ /**
+ * Return the buffer that POST ALTER is written to.
+ */
+ public DdlBuffer applyPostAlter() {
+ return applyPostAlter;
+ }
+
/**
* Return the buffer that APPLY DDL is written to.
*/
@@ -86,6 +104,20 @@ public class DdlWrite {
return applyDropDependencies;
}
+ /**
+ * Creates or returns the DdlAlterTable statement for tablename.
+ *
+ * Note: All alters on a particular table are sorted in natural order in the ddl script. This allows optimizing the alters by
+ * merging them or doing a reorg table after altering is done.
+ *
+ * @param tableName the table name
+ * @param factory the factory to construct a new object
+ * @return
+ */
+ public DdlAlterTable applyAlterTable(String tableName, Function factory) {
+ return applyAlterTables.computeIfAbsent(tableName, factory);
+ }
+
/**
* Return the buffer that APPLY DDL is written to for foreign keys and their associated indexes.
*
@@ -124,4 +156,70 @@ public class DdlWrite {
return dropAll;
}
+ /**
+ * Writes the apply ddl to the target.
+ */
+ public void writeApply(Appendable target) throws IOException {
+ if (!applyDropDependencies.isEmpty()) {
+ target.append("-- drop dependencies\n");
+ target.append(applyDropDependencies.getBuffer());
+ }
+ if (!apply.isEmpty()) {
+ target.append("-- apply changes\n");
+ target.append(apply.getBuffer());
+ }
+ if (!applyAlterTables.isEmpty()) {
+ // target.append("-- apply alter tables\n"); maybe added later. Makes diff easier
+ for (DdlAlterTable alterTable : applyAlterTables.values()) {
+ alterTable.write(target);
+ }
+ }
+ if (!applyPostAlter.isEmpty()) {
+ // target.append("-- apply post alter\n"); maybe added later.
+ target.append(applyPostAlter.getBuffer());
+ }
+ if (!applyForeignKeys.isEmpty()) {
+ // target.append("-- foreign keys and indices\n"); maybe added later.
+ target.append(applyForeignKeys.getBuffer());
+ }
+
+ if (!applyHistoryView.isEmpty()) {
+ target.append(applyHistoryView.getBuffer());
+ }
+
+ if (!applyHistoryTrigger.isEmpty()) {
+ target.append(applyHistoryTrigger.getBuffer());
+ }
+ }
+
+ /**
+ * Writes the drop all ddl to the target.
+ */
+ public void writeDropAll(Appendable target) throws IOException {
+ if (!dropAllForeignKeys.isEmpty()) {
+ target.append("-- drop all foreign keys\n");
+ target.append(dropAllForeignKeys.getBuffer());
+ }
+ if (!dropAll.isEmpty()) {
+ target.append("-- drop all\n");
+ target.append(dropAll.getBuffer());
+ }
+ }
+
+ /**
+ * Returns all create statements. Mainly used for unit-tests
+ */
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ try {
+ writeDropAll(sb);
+ writeApply(sb);
+ } catch (IOException e) {
+ // can not happen
+ }
+ return sb.toString();
+ }
+
+
}
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/AbstractHanaDdl.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/AbstractHanaDdl.java
index d9833753a..b664354b2 100644
--- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/AbstractHanaDdl.java
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/AbstractHanaDdl.java
@@ -3,12 +3,21 @@ package io.ebeaninternal.dbmigration.ddlgeneration.platform;
import io.ebean.config.DatabaseConfig;
import io.ebean.config.dbplatform.DatabasePlatform;
import io.ebean.config.dbplatform.DbPlatformType;
+import io.ebeaninternal.dbmigration.ddlgeneration.DdlAlterTable;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlBuffer;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlHandler;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlWrite;
import io.ebeaninternal.dbmigration.migration.AlterColumn;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
import java.util.Objects;
+import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -18,16 +27,13 @@ public abstract class AbstractHanaDdl extends PlatformDdl {
public AbstractHanaDdl(DatabasePlatform platform) {
super(platform);
- this.addColumn = "add (";
- this.addColumnSuffix = ")";
- this.alterColumn = "alter (";
- this.alterColumnSuffix = ")";
- this.columnDropDefault = " default null";
- this.columnSetDefault = " default";
- this.columnSetNotnull = " not null";
+ this.addColumn = "add";
+ this.alterColumn = "alter";
+ this.columnDropDefault = "default null";
+ this.columnSetDefault = "default";
+ this.columnSetNotnull = "not null";
this.columnSetNull = " null";
- this.dropColumn = "drop (";
- this.dropColumnSuffix = ")";
+ this.dropColumn = "drop";
this.dropConstraintIfExists = "drop constraint ";
this.dropIndexIfExists = "drop index ";
this.dropSequenceIfExists = "drop sequence ";
@@ -52,29 +58,21 @@ public abstract class AbstractHanaDdl extends PlatformDdl {
: (alter.getDefaultValue() != null ? alter.getDefaultValue() : alter.getCurrentDefaultValue());
String defaultValueClause = (defaultValue == null || defaultValue.isEmpty()) ? "" : " default " + defaultValue;
- DdlBuffer buffer = writer.apply();
if (!isConvertible(currentType, type)) {
// add an intermediate conversion if possible
if (isNumberType(currentType)) {
// numbers can always be converted to decimal
- buffer.append("alter table ").append(tableName).append(" ").append(alterColumn).append(" ").append(columnName)
- .append(" decimal ").append(notnullClause).append(alterColumnSuffix)
- .endOfStatement();
+ alterTable(writer, tableName).append(alterColumn, columnName).append("decimal").append(notnullClause);
} else if (isStringType(currentType)) {
// strings can always be converted to nclob
// Note: we do not add default clause here to avoid error[SAP DBTech JDBC: [336]: invalid default value:
// default value cannot be created on column of data type NCLOB
- buffer.append("alter table ").append(tableName).append(" ").append(alterColumn).append(" ").append(columnName)
- .append(" nclob").append(notnullClause).append(alterColumnSuffix)
- .endOfStatement();
+ alterTable(writer, tableName).append(alterColumn, columnName).append("nclob").append(notnullClause);
}
}
- buffer.append("alter table ").append(tableName).append(" ").append(alterColumn).append(" ").append(columnName)
- .append(" ").append(type).append(defaultValueClause).append(notnullClause).append(alterColumnSuffix);
-
- buffer.endOfStatement();
+ alterTable(writer, tableName).append(alterColumn, columnName).append(type).append(defaultValueClause).append(notnullClause);
}
@Override
@@ -127,8 +125,7 @@ public abstract class AbstractHanaDdl extends PlatformDdl {
*/
@Override
public void alterTableDropColumn(DdlWrite writer, String tableName, String columnName) {
- writer.apply().append("CALL usp_ebean_drop_column('").append(tableName).append("', '").append(columnName).append("')")
- .endOfStatement();
+ alterTable(writer, tableName).raw("CALL usp_ebean_drop_column('").append(tableName).append("', '").append(columnName).append("')");
}
/**
@@ -202,4 +199,71 @@ public abstract class AbstractHanaDdl extends PlatformDdl {
return type != null
&& (type.startsWith("varchar") || type.startsWith("nvarchar") || "clob".equals(type) || "nclob".equals(type));
}
+
+ @Override
+ protected DdlAlterTable alterTable(DdlWrite writer, String tableName) {
+ return writer.applyAlterTable(tableName, HanaAlterTableWrite::new);
+ }
+
+ /**
+ * Joins alter table commands and add open/closing brackets for the alter statements
+ */
+ private static class HanaAlterTableWrite extends BaseAlterTableWrite {
+
+ public HanaAlterTableWrite(String tableName) {
+ super(tableName);
+ }
+
+ @Override
+ protected List postProcessCommands(List cmds) {
+ List newCmds = new ArrayList<>();
+ Map> batches = new LinkedHashMap<>();
+ Set columns = new HashSet<>();
+ for (AlterCmd cmd : cmds) {
+ switch (cmd.getOperation()) {
+ case "add":
+ case "alter":
+ case "drop":
+ if (cmd.getColumn() != null && !columns.add(cmd.getColumn())) {
+ // column already seen
+ flushBatches(newCmds, batches);
+ columns.clear();
+ }
+ batches.computeIfAbsent(cmd.getOperation(), k -> new ArrayList<>()).add(cmd);
+ break;
+ default:
+ flushBatches(newCmds, batches);
+ columns.clear();
+ newCmds.add(cmd);
+ }
+ }
+ flushBatches(newCmds, batches);
+ return newCmds;
+ }
+
+ /**
+ * Merges add/alter/drop commands into one statement.
+ */
+ private void flushBatches(List newCmds, Map> batches) {
+ for (Entry> entry : batches.entrySet()) {
+ AlterCmd raw = newRawCommand("alter table ").append(tableName()).append(" ")
+ .append(entry.getKey()).append(" (");
+ List cmds = entry.getValue();
+ for (int i = 0; i < cmds.size(); i++) {
+ AlterCmd cmd = cmds.get(i);
+ if (i > 0) {
+ raw.append(",\n ");
+ }
+ raw.append(cmd.getColumn());
+ if (!cmd.getAlternation().isEmpty()) {
+ raw.append(" ").append(cmd.getAlternation());
+ }
+ }
+ raw.append(")");
+ newCmds.add(raw);
+ }
+ batches.clear();
+ }
+ }
+
}
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseAlterTableWrite.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseAlterTableWrite.java
new file mode 100644
index 000000000..bd777d5a5
--- /dev/null
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseAlterTableWrite.java
@@ -0,0 +1,152 @@
+package io.ebeaninternal.dbmigration.ddlgeneration.platform;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import io.ebeaninternal.dbmigration.ddlgeneration.DdlAlterTable;
+import io.ebeaninternal.dbmigration.ddlgeneration.DdlBuffer;
+
+/**
+ * Contains alter statements per table.
+ *
+ * @author Roland Praml, FOCONIS AG
+ */
+public class BaseAlterTableWrite implements DdlAlterTable {
+
+ protected static final String RAW_OPERATION = "$RAW";
+
+ public class AlterCmd {
+ // the command (e.g. "alter", "modify"
+ private final String operation;
+ // the affected column (note: each column can only be altered once on MariaDB)
+ private final String column;
+
+ private final DdlBuffer alternationBuffer = new BaseDdlBuffer() {
+ @Override
+ public DdlBuffer endOfStatement() {
+ throw new UnsupportedOperationException();
+ };
+ };
+
+ protected AlterCmd(String operation, String column) {
+ this.operation = operation;
+ this.column = column;
+ }
+
+ public AlterCmd append(String content) {
+ alternationBuffer.append(content);
+ return this;
+ }
+
+ public String getOperation() {
+ return operation;
+ }
+
+ public String getColumn() {
+ return column;
+ }
+
+ public String getAlternation() {
+ return alternationBuffer.getBuffer();
+ }
+
+ protected void write(Appendable target) throws IOException {
+ if (operation.equals(RAW_OPERATION)) {
+ // this is a raw command. e.g. an USP call. Must be done in the correct order
+ // of all alter commands
+ target.append(getAlternation());
+ } else {
+ target.append("alter table ").append(tableName).append(' ').append(operation);
+ if (column != null) {
+ target.append(' ').append(column);
+ }
+ if (!getAlternation().isEmpty()) {
+ target.append(' ').append(getAlternation());
+ }
+ }
+ }
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ try {
+ write(sb);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ return sb.toString();
+ }
+ }
+
+ private final String tableName;
+
+ private List cmds = new ArrayList<>();
+
+ private boolean historyHandled;
+
+ public BaseAlterTableWrite(String tableName) {
+ this.tableName = tableName;
+ }
+
+ public String tableName() {
+ return tableName;
+ }
+
+ protected AlterCmd newRawCommand(String sql) {
+ AlterCmd cmd = new AlterCmd(RAW_OPERATION, null);
+ cmd.alternationBuffer.append(sql);
+ return cmd;
+ }
+
+ public AlterCmd newOperation(String operation, String column) {
+ return new AlterCmd(operation, column);
+ }
+
+ /**
+ * Adds a statement. The statement is prefixed with "alter table TABLENAME" and may be batched, if platform supports this. The
+ * returned StringBuilder can be used, to complete the statement
+ */
+ @Override
+ public DdlBuffer append(String operation, String column) {
+ AlterCmd cmd = new AlterCmd(operation, column);
+ cmds.add(cmd);
+ return cmd.alternationBuffer;
+ }
+
+ @Override
+ public DdlBuffer raw(String sql) {
+ AlterCmd cmd = newRawCommand(sql);
+ cmds.add(cmd);
+ return cmd.alternationBuffer;
+ }
+
+ /**
+ * Method can be overwritten to return a new list of commands. The given list must not be modified, but a new command list with
+ * modified commands can be returned (e.g. to handle DB2 reorg or special syntax in Hana)
+ */
+ protected List postProcessCommands(List cmds) {
+ return cmds;
+ }
+
+ /**
+ * Writes the DDL to target.
+ */
+ @Override
+ public void write(Appendable target) throws IOException {
+ for (AlterCmd cmd : postProcessCommands(Collections.unmodifiableList(cmds))) {
+ cmd.write(target);
+ target.append(";\n");
+ }
+ }
+
+ @Override
+ public boolean isHistoryHandled() {
+ return historyHandled;
+ }
+
+ @Override
+ public void setHistoryHandled() {
+ historyHandled = true;
+ }
+}
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java
index f4b8980c1..aa0241532 100644
--- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdl.java
@@ -11,7 +11,6 @@ import io.ebeaninternal.dbmigration.ddlgeneration.DdlBuffer;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlOptions;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlWrite;
import io.ebeaninternal.dbmigration.ddlgeneration.TableDdl;
-import io.ebeaninternal.dbmigration.ddlgeneration.platform.util.IndexSet;
import io.ebeaninternal.dbmigration.migration.AddColumn;
import io.ebeaninternal.dbmigration.migration.AddHistoryTable;
import io.ebeaninternal.dbmigration.migration.AddTableComment;
@@ -127,29 +126,29 @@ public class BaseTableDdl implements TableDdl {
after = getScriptsForPlatform(alter.getAfter());
}
- void writeBefore(DdlBuffer buffer) {
+ void write(DdlWrite writer) {
if (!before.isEmpty()) {
- buffer.end();
- }
-
- if (!before.isEmpty() && withHistory) {
- buffer.append("-- NOTE: table has @History - special migration may be necessary").newLine();
- }
- for (String ddlScript : before) {
- buffer.appendStatement(translate(ddlScript, tableName, columnName, defaultValue));
- }
- }
-
- void writeAfter(DdlBuffer buffer) {
- if (!after.isEmpty() && withHistory) {
- buffer.append("-- NOTE: table has @History - special migration may be necessary").newLine();
- }
- // here we run post migration scripts
- for (String ddlScript : after) {
- buffer.appendStatement(translate(ddlScript, tableName, columnName, defaultValue));
+ writer.apply().end();
+ if (withHistory) {
+ writer.apply().append("-- NOTE: table has @History - special migration may be necessary").newLine();
+ }
+ for (String ddlScript : before) {
+ writer.apply().appendStatement(translate(ddlScript, tableName, columnName, defaultValue));
+ }
}
+ // effective order in DDL.sql:
+ // 'before' goes to apply-buffer
+ // altered columns will be in the alterTable buffers.
+ // 'after' goes to the post-alter-buffer
if (!after.isEmpty()) {
- buffer.end();
+ writer.applyPostAlter().append("-- NOTE: table has @History - special migration may be necessary").newLine();
+
+ // here we run post migration scripts
+ for (String ddlScript : after) {
+ writer.applyPostAlter().appendStatement(translate(ddlScript, tableName, columnName, defaultValue));
+ }
+
+ writer.applyPostAlter().end();
}
}
@@ -248,7 +247,7 @@ public class BaseTableDdl implements TableDdl {
}
}
if (platformDdl.isInlineForeignKeys()) {
- writeInlineForeignKeys(writer, createTable);
+ writeInlineForeignKeys(apply, createTable);
}
apply.newLine().append(")");
addTableStorageEngine(apply, createTable);
@@ -340,7 +339,8 @@ public class BaseTableDdl implements TableDdl {
uqName = col.getUnique();
}
String[] columnNames = {col.getName()};
- writer.apply().appendStatement(platformDdl.alterTableAddUniqueConstraint(tableName, uqName, columnNames, Boolean.TRUE.equals(col.isNotnull()) ? null : columnNames));
+ String[] nullableColumns = Boolean.TRUE.equals(col.isNotnull()) ? null : columnNames;
+ writer.applyPostAlter().appendStatement(platformDdl.alterTableAddUniqueConstraint(tableName, uqName, columnNames, nullableColumns));
writer.dropAllForeignKeys().appendStatement(platformDdl.dropIndex(uqName, tableName));
}
@@ -349,7 +349,7 @@ public class BaseTableDdl implements TableDdl {
String[] columnNames = split(constraint.getColumnNames());
String[] nullableColumns = split(constraint.getNullableColumns());
- writer.apply().appendStatement(platformDdl.alterTableAddUniqueConstraint(tableName, uqName, columnNames, nullableColumns));
+ writer.applyPostAlter().appendStatement(platformDdl.alterTableAddUniqueConstraint(tableName, uqName, columnNames, nullableColumns));
writer.dropAllForeignKeys().appendStatement(platformDdl.dropIndex(uqName, tableName));
}
}
@@ -368,25 +368,25 @@ public class BaseTableDdl implements TableDdl {
platformDdl.createWithHistory(writer, table);
}
- protected void writeInlineForeignKeys(DdlWrite writer, CreateTable createTable) {
+ protected void writeInlineForeignKeys(DdlBuffer buffer, CreateTable createTable) {
for (Column column : createTable.getColumn()) {
String references = column.getReferences();
if (hasValue(references)) {
- writeInlineForeignKey(writer, column);
+ writeInlineForeignKey(buffer, column);
}
}
- writeInlineCompoundForeignKeys(writer, createTable);
+ writeInlineCompoundForeignKeys(buffer, createTable);
}
- protected void writeInlineForeignKey(DdlWrite writer, Column column) {
+ protected void writeInlineForeignKey(DdlBuffer buffer, Column column) {
String fkConstraint = platformDdl.tableInlineForeignKey(new WriteForeignKey(null, column));
- writer.apply().append(",").newLine().append(" ").append(fkConstraint);
+ buffer.append(",").newLine().append(" ").append(fkConstraint);
}
- protected void writeInlineCompoundForeignKeys(DdlWrite writer, CreateTable createTable) {
+ protected void writeInlineCompoundForeignKeys(DdlBuffer buffer, CreateTable createTable) {
for (ForeignKey key : createTable.getForeignKey()) {
String fkConstraint = platformDdl.tableInlineForeignKey(new WriteForeignKey(null, key));
- writer.apply().append(",").newLine().append(" ").append(fkConstraint);
+ buffer.append(",").newLine().append(" ").append(fkConstraint);
}
}
@@ -558,7 +558,7 @@ public class BaseTableDdl implements TableDdl {
@Override
public void generate(DdlWrite writer, CreateIndex index) {
if (platformInclude(index.getPlatforms())) {
- writer.apply().appendStatement(platformDdl.createIndex(new WriteCreateIndex(index)));
+ writer.applyPostAlter().appendStatement(platformDdl.createIndex(new WriteCreateIndex(index)));
writer.dropAll().appendStatement(platformDdl.dropIndex(index.getIndexName(), index.getTableName(), Boolean.TRUE.equals(index.isConcurrent())));
}
}
@@ -566,7 +566,8 @@ public class BaseTableDdl implements TableDdl {
@Override
public void generate(DdlWrite writer, DropIndex dropIndex) {
if (platformInclude(dropIndex.getPlatforms())) {
- writer.apply().appendStatement(platformDdl.dropIndex(dropIndex.getIndexName(), dropIndex.getTableName(), Boolean.TRUE.equals(dropIndex.isConcurrent())));
+ writer.applyDropDependencies()
+ .appendStatement(platformDdl.dropIndex(dropIndex.getIndexName(), dropIndex.getTableName(), Boolean.TRUE.equals(dropIndex.isConcurrent())));
}
}
@@ -574,12 +575,14 @@ public class BaseTableDdl implements TableDdl {
public void generate(DdlWrite writer, AddUniqueConstraint constraint) {
if (platformInclude(constraint.getPlatforms())) {
if (DdlHelp.isDropConstraint(constraint.getColumnNames())) {
- writer.apply().appendStatement(platformDdl.alterTableDropUniqueConstraint(constraint.getTableName(), constraint.getConstraintName()));
+ writer.applyDropDependencies()
+ .appendStatement(platformDdl.alterTableDropUniqueConstraint(constraint.getTableName(), constraint.getConstraintName()));
} else {
String[] cols = split(constraint.getColumnNames());
String[] nullableColumns = split(constraint.getNullableColumns());
- writer.apply().appendStatement(platformDdl.alterTableAddUniqueConstraint(constraint.getTableName(), constraint.getConstraintName(), cols, nullableColumns));
+ writer.applyPostAlter()
+ .appendStatement(platformDdl.alterTableAddUniqueConstraint(constraint.getTableName(), constraint.getConstraintName(), cols, nullableColumns));
}
}
}
@@ -587,9 +590,9 @@ public class BaseTableDdl implements TableDdl {
@Override
public void generate(DdlWrite writer, AlterForeignKey alterForeignKey) {
if (DdlHelp.isDropForeignKey(alterForeignKey.getColumnNames())) {
- writer.apply().appendStatement(platformDdl.alterTableDropForeignKey(alterForeignKey.getTableName(), alterForeignKey.getName()));
+ writer.applyDropDependencies().appendStatement(platformDdl.alterTableDropForeignKey(alterForeignKey.getTableName(), alterForeignKey.getName()));
} else {
- writer.apply().appendStatement(platformDdl.alterTableAddForeignKey(writer.getOptions(), new WriteForeignKey(alterForeignKey)));
+ writer.applyForeignKeys().appendStatement(platformDdl.alterTableAddForeignKey(writer.getOptions(), new WriteForeignKey(alterForeignKey)));
}
}
@@ -634,7 +637,7 @@ public class BaseTableDdl implements TableDdl {
@Override
public void generate(DdlWrite writer, AddTableComment addTableComment) {
if (hasValue(addTableComment.getComment())) {
- platformDdl.addTableComment(writer.apply(), addTableComment.getName(), addTableComment.getComment());
+ platformDdl.addTableComment(writer.applyPostAlter(), addTableComment.getName(), addTableComment.getComment());
}
}
@@ -669,7 +672,7 @@ public class BaseTableDdl implements TableDdl {
*/
@Override
public void generate(DdlWrite writer, DropTable dropTable) {
- dropTable(writer.apply(), dropTable.getName());
+ dropTable(writer.applyPostAlter(), dropTable.getName());
if (hasValue(dropTable.getSequenceCol())
&& platformDdl.getPlatform().getDbIdentity().isSupportsSequence()) {
String sequenceName = dropTable.getSequenceName();
@@ -702,7 +705,7 @@ public class BaseTableDdl implements TableDdl {
@Override
public void generate(DdlWrite writer, AlterColumn alterColumn) {
DdlMigrationHelp ddlHelp = new DdlMigrationHelp(alterColumn);
- ddlHelp.writeBefore(writer.apply());
+ ddlHelp.write(writer);
if (isTrue(alterColumn.isHistoryExclude())) {
regenerateHistoryTriggers(alterColumn.getTableName(), HistoryTableUpdate.Change.EXCLUDE, alterColumn.getColumnName());
@@ -750,11 +753,10 @@ public class BaseTableDdl implements TableDdl {
// add constraint last (after potential type change)
addCheckConstraint(writer, alterColumn);
}
- ddlHelp.writeAfter(writer.apply());
}
private void alterColumnComment(DdlWrite writer, AlterColumn alterColumn) {
- platformDdl.addColumnComment(writer.apply(), alterColumn.getTableName(), alterColumn.getColumnName(), alterColumn.getComment());
+ platformDdl.addColumnComment(writer.applyPostAlter(), alterColumn.getTableName(), alterColumn.getColumnName(), alterColumn.getComment());
}
/**
@@ -792,23 +794,28 @@ public class BaseTableDdl implements TableDdl {
}
protected void dropCheckConstraint(DdlWrite writer, AlterColumn alter, String constraintName) {
- writer.apply().appendStatement(platformDdl.alterTableDropConstraint(alter.getTableName(), constraintName));
+ writer.applyDropDependencies()
+ .appendStatement(platformDdl.alterTableDropConstraint(alter.getTableName(), constraintName));
}
protected void addCheckConstraint(DdlWrite writer, AlterColumn alter) {
- writer.apply().appendStatement(platformDdl.alterTableAddCheckConstraint(alter.getTableName(), alter.getCheckConstraintName(), alter.getCheckConstraint()));
+ writer.applyPostAlter()
+ .appendStatement(platformDdl.alterTableAddCheckConstraint(alter.getTableName(), alter.getCheckConstraintName(), alter.getCheckConstraint()));
}
+
protected void alterColumnAddForeignKey(DdlWrite writer, AlterColumn alterColumn) {
- alterTableAddForeignKey(writer.getOptions(), writer.apply(), new WriteForeignKey(alterColumn));
+ alterTableAddForeignKey(writer.getOptions(), writer.applyForeignKeys(), new WriteForeignKey(alterColumn));
}
protected void alterColumnDropForeignKey(DdlWrite writer, AlterColumn alter) {
- writer.apply().appendStatement(platformDdl.alterTableDropForeignKey(alter.getTableName(), alter.getDropForeignKey()));
+ writer.applyDropDependencies()
+ .appendStatement(platformDdl.alterTableDropForeignKey(alter.getTableName(), alter.getDropForeignKey()));
}
protected void alterColumnDropUniqueConstraint(DdlWrite writer, AlterColumn alter) {
- writer.apply().appendStatement(platformDdl.alterTableDropUniqueConstraint(alter.getTableName(), alter.getDropUnique()));
+ writer.applyDropDependencies()
+ .appendStatement(platformDdl.alterTableDropUniqueConstraint(alter.getTableName(), alter.getDropUnique()));
}
protected void alterColumnAddUniqueOneToOneConstraint(DdlWrite writer, AlterColumn alter) {
@@ -822,7 +829,8 @@ public class BaseTableDdl implements TableDdl {
protected void addUniqueConstraint(DdlWrite writer, AlterColumn alter, String uqName) {
String[] cols = {alter.getColumnName()};
boolean notNull = alter.isNotnull() != null ? alter.isNotnull() : Boolean.TRUE.equals(alter.isNotnull());
- writer.apply().appendStatement(platformDdl.alterTableAddUniqueConstraint(alter.getTableName(), uqName, cols, notNull ? null : cols));
+ writer.applyPostAlter()
+ .appendStatement(platformDdl.alterTableAddUniqueConstraint(alter.getTableName(), uqName, cols, notNull ? null : cols));
writer.dropAllForeignKeys().appendStatement(platformDdl.dropIndex(uqName, alter.getTableName()));
}
@@ -835,18 +843,15 @@ public class BaseTableDdl implements TableDdl {
protected void alterTableAddColumn(DdlWrite writer, String tableName, Column column, boolean onHistoryTable, boolean withHistory) {
DdlMigrationHelp help = new DdlMigrationHelp(tableName, column, withHistory);
if (!onHistoryTable) {
- help.writeBefore(writer.apply());
+ help.write(writer);
}
platformDdl.alterTableAddColumn(writer, tableName, column, onHistoryTable, help.getDefaultValue());
final String comment = column.getComment();
if (comment != null && !comment.isEmpty()) {
- platformDdl.addColumnComment(writer.apply(), tableName, column.getName(), comment);
+ platformDdl.addColumnComment(writer.applyPostAlter(), tableName, column.getName(), comment);
}
- if (!onHistoryTable) {
- help.writeAfter(writer.apply());
- }
}
protected boolean isFalse(Boolean value) {
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DbTriggerBasedHistoryDdl.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DbTriggerBasedHistoryDdl.java
index 252cd271b..10644a8a1 100644
--- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DbTriggerBasedHistoryDdl.java
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/DbTriggerBasedHistoryDdl.java
@@ -5,7 +5,6 @@ import io.ebean.config.DbConstraintNaming;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlBuffer;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlWrite;
import io.ebeaninternal.dbmigration.migration.AddHistoryTable;
-import io.ebeaninternal.dbmigration.migration.AlterColumn;
import io.ebeaninternal.dbmigration.migration.DropHistoryTable;
import io.ebeaninternal.dbmigration.model.MColumn;
import io.ebeaninternal.dbmigration.model.MTable;
@@ -63,8 +62,7 @@ public abstract class DbTriggerBasedHistoryDdl implements PlatformHistoryDdl {
protected abstract void updateHistoryTriggers(DbTriggerUpdate triggerUpdate);
/**
- * Process the HistoryTableUpdate which can result in changes to the apply, rollback
- * and drop scripts.
+ * Process the HistoryTableUpdate which can result in changes to the apply, rollback and drop scripts.
*/
protected void updateTriggers(DdlWrite writer, MTable table, HistoryTableUpdate update) {
@@ -88,7 +86,10 @@ public abstract class DbTriggerBasedHistoryDdl implements PlatformHistoryDdl {
// drop in appropriate order
dropTriggers(writer.applyDropDependencies(), baseTable);
- dropHistoryTableEtc(writer.applyDropDependencies(), baseTable);
+ dropWithHistoryView(writer.applyDropDependencies(), baseTable);
+ dropHistoryTable(writer.applyDropDependencies(), baseTable);
+
+ dropSysPeriodColumns(writer, baseTable);
}
@Override
@@ -107,14 +108,19 @@ public abstract class DbTriggerBasedHistoryDdl implements PlatformHistoryDdl {
public void createWithHistory(DdlWrite writer, MTable table) {
String baseTable = table.getName();
- String whenCreatedColumn = table.getWhenCreatedColumn();
- dropTriggers(writer.dropAll(), baseTable);
- dropHistoryTableEtc(writer.dropAll(), baseTable);
+ addSysPeriodColumns(writer.apply(), baseTable, table.getWhenCreatedColumn());
+ createHistoryTable(writer.applyPostAlter(), table);
- addHistoryTable(writer, table, whenCreatedColumn);
- createStoredFunction(writer, table);
createTriggers(writer, table);
+ createWithHistoryView(writer.applyPostAlter(), table.getName());
+
+ // drop all scripts
+ dropTriggers(writer.dropAll(), baseTable);
+ dropWithHistoryView(writer.dropAll(), baseTable);
+ dropHistoryTable(writer.dropAll(), baseTable);
+ // no need to dropSysPeriodColumns as whole table will be deleted soon
+
}
protected abstract void createTriggers(DdlWrite writer, MTable table);
@@ -156,7 +162,7 @@ public abstract class DbTriggerBasedHistoryDdl implements PlatformHistoryDdl {
DdlBuffer apply = writer.applyHistoryView();
addSysPeriodColumns(apply, baseTableName, whenCreatedColumn);
- createHistoryTable(apply, table);
+ createHistoryTable(writer.applyPostAlter(), table);
createWithHistoryView(apply, baseTableName);
}
@@ -234,18 +240,17 @@ public abstract class DbTriggerBasedHistoryDdl implements PlatformHistoryDdl {
appendColumnName(apply, prefix, sysPeriodEnd);
}
- protected void dropHistoryTableEtc(DdlBuffer buffer, String baseTableName) {
-
- buffer.append("drop view ").append(baseTableName).append(viewSuffix).endOfStatement();
- dropSysPeriodColumns(buffer, baseTableName);
- buffer.append("drop table ").append(baseTableName).append(historySuffix).endOfStatement().end();
+ protected void dropWithHistoryView(DdlBuffer apply, String baseTableName) {
+ apply.append("drop view ").append(baseTableName).append(viewSuffix).endOfStatement();
}
- protected void dropSysPeriodColumns(DdlBuffer buffer, String baseTableName) {
- DdlWrite writer = new DdlWrite();
+ protected void dropHistoryTable(DdlBuffer apply, String baseTableName) {
+ apply.append("drop table ").append(baseTableName).append(historySuffix).endOfStatement().end();
+ }
+
+ protected void dropSysPeriodColumns(DdlWrite writer, String baseTableName) {
platformDdl.alterTableDropColumn(writer, baseTableName, sysPeriodStart);
platformDdl.alterTableDropColumn(writer, baseTableName, sysPeriodEnd);
- buffer.append(writer.apply().getBuffer()); // Workaround - will be removed later
}
protected void appendInsertIntoHistory(DdlBuffer buffer, String historyTable, List columns) {
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaHistoryDdl.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaHistoryDdl.java
index 7e743048c..917fc35dc 100644
--- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaHistoryDdl.java
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaHistoryDdl.java
@@ -19,7 +19,6 @@ public class HanaHistoryDdl implements PlatformHistoryDdl {
private String systemPeriodEnd;
private PlatformDdl platformDdl;
private String historySuffix;
- private final AtomicInteger counter = new AtomicInteger(0);
private Map createdHistoryTables = new ConcurrentHashMap<>();
@Override
@@ -64,7 +63,8 @@ public class HanaHistoryDdl implements PlatformHistoryDdl {
apply.append("alter table ").append(tableName).append(" add period for system_time(").append(systemPeriodStart)
.append(",").append(systemPeriodEnd).append(")").endOfStatement();
- enableSystemVersioning(apply, tableName, historyTableName, true, false);
+ enableSystemVersioning(apply, tableName, true);
+ platformDdl.alterTable(writer, tableName).setHistoryHandled();
createdHistoryTables.put(tableName, historyTableName);
@@ -123,30 +123,14 @@ public class HanaHistoryDdl implements PlatformHistoryDdl {
}
public void disableSystemVersioning(DdlBuffer apply, String tableName) {
- disableSystemVersioning(apply, tableName, false);
+ apply.append("alter table ").append(tableName).append(" drop system versioning").endOfStatement();
}
- public void disableSystemVersioning(DdlBuffer apply, String tableName, boolean uniqueStatement) {
- apply.append("alter table ").append(tableName).append(" drop system versioning");
- if (uniqueStatement) {
- // needed for the DB migration test to prevent the statement from being filtered
- // out as a duplicate
- apply.append(" /* ").append(String.valueOf(counter.getAndIncrement())).append(" */");
- }
- apply.endOfStatement();
- }
-
- public void enableSystemVersioning(DdlBuffer apply, String tableName, String historyTableName, boolean validated,
- boolean uniqueStatement) {
- apply.append("alter table ").append(tableName).append(" add system versioning history table ").append(historyTableName);
+ public void enableSystemVersioning(DdlBuffer apply, String tableName, boolean validated) {
+ apply.append("alter table ").append(tableName).append(" add system versioning history table ").append(tableName).append(historySuffix);
if (!validated) {
apply.append(" not validated");
}
- if (uniqueStatement) {
- // needed for the DB migration test to prevent the statement from being filtered
- // out as a duplicate
- apply.append(" /* ").append(String.valueOf(counter.getAndIncrement())).append(" */");
- }
apply.endOfStatement();
}
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaTableDdl.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaTableDdl.java
index 2500ad179..d760bda34 100644
--- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaTableDdl.java
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaTableDdl.java
@@ -2,6 +2,7 @@ package io.ebeaninternal.dbmigration.ddlgeneration.platform;
import io.ebean.config.DatabaseConfig;
import io.ebean.config.PropertiesWrapper;
+import io.ebeaninternal.dbmigration.ddlgeneration.DdlAlterTable;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlWrite;
import io.ebeaninternal.dbmigration.migration.AddColumn;
import io.ebeaninternal.dbmigration.migration.AlterColumn;
@@ -14,17 +15,10 @@ import java.util.List;
public class HanaTableDdl extends BaseTableDdl {
private final HanaHistoryDdl historyDdl;
- private final boolean generateUniqueDdl;
public HanaTableDdl(DatabaseConfig config, PlatformDdl platformDdl) {
super(config, platformDdl);
this.historyDdl = (HanaHistoryDdl) platformDdl.historyDdl;
- if (config.getProperties() != null) {
- PropertiesWrapper wrapper = new PropertiesWrapper("ebean", "hana", config.getProperties(), config.getClassLoadConfig());
- this.generateUniqueDdl = wrapper.getBoolean("generateUniqueDdl", false);
- } else {
- this.generateUniqueDdl = false;
- }
}
@Override
@@ -39,7 +33,12 @@ public class HanaTableDdl extends BaseTableDdl {
boolean manageSystemVersioning = isTrue(table.isWithHistory()) && historyDdl.isSystemVersioningEnabled(tableName);
if (manageSystemVersioning) {
- historyDdl.disableSystemVersioning(writer.apply(), table.getName(), this.generateUniqueDdl);
+ DdlAlterTable alter = platformDdl.alterTable(writer, tableName);
+ if (!alter.isHistoryHandled()) {
+ alter.setHistoryHandled();
+ historyDdl.disableSystemVersioning(writer.apply(), table.getName());
+ historyDdl.enableSystemVersioning(writer.applyPostAlter(), table.getName(), false);
+ }
}
super.generate(writer, addColumn);
@@ -51,8 +50,6 @@ public class HanaTableDdl extends BaseTableDdl {
for (Column column : columns) {
alterTableAddColumn(writer, historyTable, column, true, true);
}
-
- historyDdl.enableSystemVersioning(writer.apply(), table.getName(), historyTable, false, this.generateUniqueDdl);
}
}
@@ -68,7 +65,12 @@ public class HanaTableDdl extends BaseTableDdl {
boolean manageSystemVersioning = isTrue(table.isWithHistory()) && historyDdl.isSystemVersioningEnabled(tableName);
if (manageSystemVersioning) {
- historyDdl.disableSystemVersioning(writer.apply(), tableName, this.generateUniqueDdl);
+ DdlAlterTable alter = platformDdl.alterTable(writer, tableName);
+ if (!alter.isHistoryHandled()) {
+ alter.setHistoryHandled();
+ historyDdl.disableSystemVersioning(writer.apply(), table.getName());
+ historyDdl.enableSystemVersioning(writer.applyPostAlter(), table.getName(), false);
+ }
}
super.generate(writer, alterColumn);
@@ -89,8 +91,6 @@ public class HanaTableDdl extends BaseTableDdl {
platformDdl.alterColumn(writer, alterHistoryColumn);
}
-
- historyDdl.enableSystemVersioning(writer.apply(), tableName, historyTable, false, this.generateUniqueDdl);
}
}
@@ -106,7 +106,12 @@ public class HanaTableDdl extends BaseTableDdl {
boolean manageSystemVersioning = isTrue(table.isWithHistory()) && historyDdl.isSystemVersioningEnabled(tableName);
if (manageSystemVersioning) {
- historyDdl.disableSystemVersioning(writer.apply(), tableName, this.generateUniqueDdl);
+ DdlAlterTable alter = platformDdl.alterTable(writer, tableName);
+ if (!alter.isHistoryHandled()) {
+ alter.setHistoryHandled();
+ historyDdl.disableSystemVersioning(writer.apply(), table.getName());
+ historyDdl.enableSystemVersioning(writer.applyPostAlter(), tableName, false);
+ }
}
super.generate(writer, dropColumn);
@@ -116,7 +121,6 @@ public class HanaTableDdl extends BaseTableDdl {
String historyTable = historyTable(tableName);
alterTableDropColumn(writer, historyTable, dropColumn.getColumnName());
- historyDdl.enableSystemVersioning(writer.apply(), tableName, historyTable, false, this.generateUniqueDdl);
}
}
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 e93983683..454682a04 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
@@ -77,16 +77,12 @@ public class PlatformDdl {
protected String alterColumn = "alter column";
- protected String alterColumnSuffix = "";
-
protected String dropUniqueConstraint = "drop constraint";
protected String addConstraint = "add constraint";
protected String addColumn = "add column";
- protected String addColumnSuffix = "";
-
protected String columnSetType = "";
protected String columnSetDefault = "set default";
@@ -105,8 +101,6 @@ public class PlatformDdl {
protected String dropColumn = "drop column";
- protected String dropColumnSuffix = "";
-
protected String addForeignKeySkipCheck = "";
protected String uniqueIndex = "unique";
@@ -536,10 +530,8 @@ public class PlatformDdl {
public void alterTableAddColumn(DdlWrite writer, String tableName, Column column, boolean onHistoryTable, String defaultValue) {
String convertedType = convert(column.getType());
- DdlBuffer buffer = writer.apply();
- buffer.append("alter table ").append(tableName)
- .append(" ").append(addColumn).append(" ").append(column.getName())
- .append(" ").append(convertedType);
+ DdlBuffer buffer = alterTable(writer, tableName).append(addColumn, column.getName());
+ buffer.append(convertedType);
// Add default value also to history table if it is not excluded
if (defaultValue != null) {
@@ -553,27 +545,18 @@ public class PlatformDdl {
if (isTrue(column.isNotnull())) {
buffer.appendWithSpace(columnNotNull);
}
- buffer.append(addColumnSuffix);
- buffer.endOfStatement();
// check constraints cannot be added in one statement for h2
if (!StringHelper.isNull(column.getCheckConstraint())) {
String ddl = alterTableAddCheckConstraint(tableName, column.getCheckConstraintName(), column.getCheckConstraint());
- if (hasValue(ddl)) {
- buffer.append(ddl).endOfStatement();
- }
+ writer.applyPostAlter().appendStatement(ddl);
}
- } else {
- buffer.append(addColumnSuffix);
- buffer.endOfStatement();
}
}
public void alterTableDropColumn(DdlWrite writer, String tableName, String columnName) {
- writer.apply().append("alter table ").append(tableName).append(" ")
- .append(dropColumn).append(" ").append(columnName)
- .append(dropColumnSuffix).endOfStatement();
+ alterTable(writer, tableName).append(dropColumn, columnName);
}
/**
@@ -592,10 +575,8 @@ public class PlatformDdl {
*
*/
protected void alterColumnType(DdlWrite writer, AlterColumn alter) {
- writer.apply().append("alter table ").append(alter.getTableName())
- .appendWithSpace(alterColumn).appendWithSpace(alter.getColumnName())
- .append(" ").append(columnSetType).append(convert(alter.getType()))
- .endOfStatement();
+ alterTable(writer, alter.getTableName()).append(alterColumn, alter.getColumnName())
+ .append(columnSetType).append(convert(alter.getType()));
}
/**
@@ -605,15 +586,12 @@ public class PlatformDdl {
*
*/
protected void alterColumnNotnull(DdlWrite writer, AlterColumn alter) {
-
- DdlBuffer buffer = writer.apply().append("alter table ").append(alter.getTableName())
- .appendWithSpace(alterColumn).appendWithSpace(alter.getColumnName());
+ DdlBuffer buffer = alterTable(writer, alter.getTableName()).append(alterColumn, alter.getColumnName());
if (Boolean.TRUE.equals(alter.isNotnull())) {
- buffer.appendWithSpace(columnSetNotnull);
+ buffer.append(columnSetNotnull);
} else {
- buffer.appendWithSpace(columnSetNull);
+ buffer.append(columnSetNull);
}
- buffer.endOfStatement();
}
/**
@@ -630,14 +608,12 @@ public class PlatformDdl {
*
*/
protected void alterColumnDefault(DdlWrite writer, AlterColumn alter) {
- DdlBuffer buffer = writer.apply().append("alter table ").append(alter.getTableName())
- .appendWithSpace(alterColumn).appendWithSpace(alter.getColumnName());
+ DdlBuffer buffer = alterTable(writer, alter.getTableName()).append(alterColumn, alter.getColumnName());
if (DdlHelp.isDropDefault(alter.getDefaultValue())) {
- buffer.appendWithSpace(columnDropDefault);
+ buffer.append(columnDropDefault);
} else {
- buffer.appendWithSpace(columnSetDefault).appendWithSpace(convertDefaultValue(alter.getDefaultValue()));
+ buffer.append(columnSetDefault).appendWithSpace(convertDefaultValue(alter.getDefaultValue()));
}
- buffer.endOfStatement();
}
/**
@@ -662,6 +638,13 @@ public class PlatformDdl {
}
}
+ /**
+ * Creates or replace a new DdlAlterTable for given tableName.
+ */
+ protected DdlAlterTable alterTable(DdlWrite writer, String tableName) {
+ return writer.applyAlterTable(tableName, BaseAlterTableWrite::new);
+ }
+
protected void appendColumns(String[] columns, StringBuilder buffer) {
buffer.append(" (");
for (int i = 0; i < columns.length; i++) {
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PostgresHistoryDdl.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PostgresHistoryDdl.java
index c5b7f23d7..228b1c529 100644
--- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PostgresHistoryDdl.java
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PostgresHistoryDdl.java
@@ -47,8 +47,8 @@ public class PostgresHistoryDdl extends DbTriggerBasedHistoryDdl {
}
@Override
- protected void dropSysPeriodColumns(DdlBuffer buffer, String baseTableName) {
- buffer.append("alter table ").append(baseTableName).append(" drop column ").append(sysPeriod).endOfStatement();
+ protected void dropSysPeriodColumns(DdlWrite writer, String baseTableName) {
+ platformDdl.alterTableDropColumn(writer, baseTableName, sysPeriod);
}
@Override
@@ -56,8 +56,9 @@ public class PostgresHistoryDdl extends DbTriggerBasedHistoryDdl {
String baseTableName = table.getName();
String procedureName = procedureName(baseTableName);
String triggerName = triggerName(baseTableName);
-
+ List columnNames = columnNamesForApply(table);
DdlBuffer apply = writer.applyHistoryTrigger();
+ createOrReplaceFunction(apply, procedureName, historyTableName(baseTableName), columnNames);
apply
.append("create trigger ").append(triggerName).newLine()
.append(" before update or delete on ").append(baseTableName).newLine()
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/SQLiteDdl.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/SQLiteDdl.java
index 2242721c7..50ce99d25 100644
--- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/SQLiteDdl.java
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/SQLiteDdl.java
@@ -1,10 +1,13 @@
package io.ebeaninternal.dbmigration.ddlgeneration.platform;
+import java.util.ArrayList;
+import java.util.List;
+
import io.ebean.config.dbplatform.DatabasePlatform;
+import io.ebeaninternal.dbmigration.ddlgeneration.DdlAlterTable;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlBuffer;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlOptions;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlWrite;
-import io.ebeaninternal.dbmigration.migration.AlterColumn;
/**
* SQLite platform specific DDL.
@@ -61,21 +64,28 @@ public class SQLiteDdl extends PlatformDdl {
}
@Override
- public void alterColumnType(DdlWrite writer, AlterColumn alter) {
- writer.apply().append("-- not supported: ");
- super.alterColumnType(writer, alter);
+ protected DdlAlterTable alterTable(DdlWrite writer, String tableName) {
+ return writer.applyAlterTable(tableName, SQLiteAlterTableWrite::new);
}
- @Override
- public void alterColumnDefault(DdlWrite writer, AlterColumn alter) {
- writer.apply().append("-- not supported: ");
- super.alterColumnDefault(writer, alter);
- }
+ static class SQLiteAlterTableWrite extends BaseAlterTableWrite {
+ public SQLiteAlterTableWrite(String tableName) {
+ super(tableName);
+ }
- @Override
- public void alterColumnNotnull(DdlWrite writer, AlterColumn alter) {
- writer.apply().append("-- not supported: ");
- super.alterColumnNotnull(writer, alter);
+ @Override
+ protected List postProcessCommands(List cmds) {
+ List ret = new ArrayList();
+ for (AlterCmd cmd : cmds) {
+ switch (cmd.getOperation()) {
+ case "alter column":
+ ret.add(newRawCommand("-- not supported: " + cmd));
+ break;
+ default:
+ ret.add(cmd);
+ }
+ }
+ return ret;
+ }
}
-
}
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/model/CurrentModel.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/model/CurrentModel.java
index a369097f7..faac168ea 100644
--- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/model/CurrentModel.java
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/model/CurrentModel.java
@@ -16,6 +16,7 @@ import io.ebeaninternal.extraddl.model.ExtraDdl;
import io.ebeaninternal.extraddl.model.ExtraDdlXmlReader;
import io.ebeaninternal.dbmigration.ddlgeneration.PlatformDdlBuilder;
+import java.io.IOException;
import java.util.List;
import static io.ebeaninternal.api.PlatformMatch.matchPlatform;
@@ -127,10 +128,13 @@ public class CurrentModel {
if (jaxbPresent) {
addExtraDdl(ddl, ExtraDdlXmlReader.readBuiltin(), "-- init script ");
}
- ddl.append(writer.apply().getBuffer());
- ddl.append(writer.applyForeignKeys().getBuffer());
- ddl.append(writer.applyHistoryView().getBuffer());
- ddl.append(writer.applyHistoryTrigger().getBuffer());
+
+ try {
+ writer.writeApply(ddl);
+ } catch (IOException e) { // should not happen on StringBuilder
+ throw new RuntimeException(e);
+ }
+
return ddl.toString();
}
@@ -157,8 +161,11 @@ public class CurrentModel {
if (ddlHeader != null && !ddlHeader.isEmpty()) {
ddl.append(ddlHeader).append('\n');
}
- ddl.append(writer.dropAllForeignKeys().getBuffer());
- ddl.append(writer.dropAll().getBuffer());
+ try {
+ writer.writeDropAll(ddl);
+ } catch (IOException e) { // should not happen on StringBuilder
+ throw new RuntimeException(e);
+ }
return ddl.toString();
}
diff --git a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/model/PlatformDdlWriter.java b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/model/PlatformDdlWriter.java
index 1755e04a9..83de7e459 100644
--- a/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/model/PlatformDdlWriter.java
+++ b/ebean-ddl-generator/src/main/java/io/ebeaninternal/dbmigration/model/PlatformDdlWriter.java
@@ -3,7 +3,6 @@ package io.ebeaninternal.dbmigration.model;
import io.ebean.config.DatabaseConfig;
import io.ebean.config.dbplatform.DatabasePlatform;
import io.ebean.util.IOUtils;
-import io.ebeaninternal.dbmigration.ddlgeneration.DdlBuffer;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlHandler;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlWrite;
import io.ebeaninternal.dbmigration.ddlgeneration.PlatformDdlBuilder;
@@ -91,21 +90,7 @@ public class PlatformDdlWriter {
if (header != null && !header.isEmpty()) {
writer.append(header).append('\n');
}
- // merge the apply buffers in the appropriate order
- prependDropDependencies(writer, ddl.applyDropDependencies());
- writer.append("-- apply changes\n");
- writer.append(ddl.apply().getBuffer());
- writer.append(ddl.applyForeignKeys().getBuffer());
- writer.append(ddl.applyHistoryView().getBuffer());
- writer.append(ddl.applyHistoryTrigger().getBuffer());
- }
-
- private void prependDropDependencies(Writer writer, DdlBuffer buffer) throws IOException {
- if (!buffer.isEmpty()) {
- writer.append("-- drop dependencies\n");
- writer.append(buffer.getBuffer());
- writer.append("\n");
- }
+ ddl.writeApply(writer);
}
/**
From 3a93abaa7fab811d7f8e6d17337f60e394b4df0d Mon Sep 17 00:00:00 2001
From: Roland Praml
Date: Tue, 8 Mar 2022 12:43:54 +0100
Subject: [PATCH 2/4] Only moves in DDL (checked with git -c
color.diff.newMoved=black -c color.diff.oldMoved=black diff
--color-moved=plain '*.sql')
---
.../dbmigration/clickhouse/1.1.sql | 72 +++----
.../clickhouse/1.2__dropsFor_1.1.sql | 7 -
.../dbmigration/clickhouse/1.3.sql | 45 ++---
.../clickhouse/1.4__dropsFor_1.3.sql | 15 --
.../clickhouse/idx_clickhouse.migrations | 8 +-
.../dbmigration/cockroach/1.1.sql | 92 ++++-----
.../cockroach/1.2__dropsFor_1.1.sql | 20 +-
.../dbmigration/cockroach/1.3.sql | 65 +++---
.../cockroach/1.4__dropsFor_1.3.sql | 44 ++---
.../cockroach/idx_cockroach.migrations | 8 +-
.../dbmigration/db2fori/1.0__initial.sql | 6 +-
.../migrationtest/dbmigration/db2fori/1.1.sql | 96 ++++-----
.../dbmigration/db2fori/1.2__dropsFor_1.1.sql | 20 +-
.../migrationtest/dbmigration/db2fori/1.3.sql | 71 +++----
.../dbmigration/db2fori/1.4__dropsFor_1.3.sql | 44 ++---
.../dbmigration/db2fori/idx_db2.migrations | 10 +-
.../dbmigration/db2legacy/1.0__initial.sql | 6 +-
.../dbmigration/db2legacy/1.1.sql | 96 ++++-----
.../db2legacy/1.2__dropsFor_1.1.sql | 20 +-
.../dbmigration/db2legacy/1.3.sql | 71 +++----
.../db2legacy/1.4__dropsFor_1.3.sql | 44 ++---
.../dbmigration/db2legacy/idx_db2.migrations | 10 +-
.../dbmigration/db2luw/1.0__initial.sql | 6 +-
.../migrationtest/dbmigration/db2luw/1.1.sql | 96 ++++-----
.../dbmigration/db2luw/1.2__dropsFor_1.1.sql | 20 +-
.../migrationtest/dbmigration/db2luw/1.3.sql | 71 +++----
.../dbmigration/db2luw/1.4__dropsFor_1.3.sql | 44 ++---
.../dbmigration/db2luw/idx_db2.migrations | 10 +-
.../dbmigration/db2zos/1.0__initial.sql | 6 +-
.../migrationtest/dbmigration/db2zos/1.1.sql | 96 ++++-----
.../dbmigration/db2zos/1.2__dropsFor_1.1.sql | 20 +-
.../migrationtest/dbmigration/db2zos/1.3.sql | 71 +++----
.../dbmigration/db2zos/1.4__dropsFor_1.3.sql | 44 ++---
.../dbmigration/db2zos/idx_db2.migrations | 10 +-
.../migrationtest/dbmigration/generic/1.1.sql | 96 ++++-----
.../dbmigration/generic/1.2__dropsFor_1.1.sql | 7 -
.../migrationtest/dbmigration/generic/1.3.sql | 69 +++----
.../dbmigration/generic/1.4__dropsFor_1.3.sql | 15 --
.../generic/idx_generic.migrations | 8 +-
.../dbmigration/h2/1.0__initial.sql | 106 +++++-----
.../migrationtest/dbmigration/h2/1.1.sql | 116 +++++------
.../dbmigration/h2/1.2__dropsFor_1.1.sql | 25 +--
.../migrationtest/dbmigration/h2/1.3.sql | 69 ++++---
.../dbmigration/h2/1.4__dropsFor_1.3.sql | 25 +--
.../dbmigration/h2/idx_h2.migrations | 10 +-
.../migrationtest/dbmigration/hsqldb/1.1.sql | 96 ++++-----
.../dbmigration/hsqldb/1.2__dropsFor_1.1.sql | 20 +-
.../migrationtest/dbmigration/hsqldb/1.3.sql | 69 +++----
.../dbmigration/hsqldb/1.4__dropsFor_1.3.sql | 44 ++---
.../dbmigration/hsqldb/idx_hsqldb.migrations | 8 +-
.../dbmigration/mariadb-noprocs/1.1.sql | 68 +++----
.../mariadb-noprocs/1.2__dropsFor_1.1.sql | 20 +-
.../dbmigration/mariadb-noprocs/1.3.sql | 49 ++---
.../mariadb-noprocs/1.4__dropsFor_1.3.sql | 44 ++---
.../mariadb-noprocs/idx_mariadb.migrations | 8 +-
.../migrationtest/dbmigration/mariadb/1.1.sql | 68 +++----
.../dbmigration/mariadb/1.2__dropsFor_1.1.sql | 2 +-
.../migrationtest/dbmigration/mariadb/1.3.sql | 49 ++---
.../dbmigration/mariadb/1.4__dropsFor_1.3.sql | 2 +-
.../mariadb/idx_mariadb.migrations | 8 +-
.../dbmigration/mysql/1.0__initial.sql | 42 ++--
.../migrationtest/dbmigration/mysql/1.1.sql | 96 ++++-----
.../dbmigration/mysql/1.2__dropsFor_1.1.sql | 1 -
.../migrationtest/dbmigration/mysql/1.3.sql | 53 +++--
.../dbmigration/mysql/1.4__dropsFor_1.3.sql | 5 +-
.../dbmigration/mysql/idx_mysql.migrations | 8 +-
.../dbmigration/mysql55/1.0__initial.sql | 42 ++--
.../migrationtest/dbmigration/mysql55/1.1.sql | 96 ++++-----
.../dbmigration/mysql55/1.2__dropsFor_1.1.sql | 1 -
.../migrationtest/dbmigration/mysql55/1.3.sql | 53 +++--
.../dbmigration/mysql55/1.4__dropsFor_1.3.sql | 5 +-
.../dbmigration/mysql55/idx_mysql.migrations | 8 +-
.../dbmigration/nuodb/1.0__initial.sql | 42 ++--
.../migrationtest/dbmigration/nuodb/1.1.sql | 112 +++++------
.../dbmigration/nuodb/1.2__dropsFor_1.1.sql | 25 +--
.../migrationtest/dbmigration/nuodb/1.3.sql | 65 +++---
.../dbmigration/nuodb/1.4__dropsFor_1.3.sql | 25 +--
.../dbmigration/nuodb/idx_nuodb.migrations | 10 +-
.../migrationtest/dbmigration/oracle/1.1.sql | 186 +++++++++---------
.../dbmigration/oracle/1.2__dropsFor_1.1.sql | 20 +-
.../migrationtest/dbmigration/oracle/1.3.sql | 79 ++++----
.../dbmigration/oracle/1.4__dropsFor_1.3.sql | 44 ++---
.../dbmigration/oracle/idx_oracle.migrations | 8 +-
.../dbmigration/oracle11/1.1.sql | 186 +++++++++---------
.../oracle11/1.2__dropsFor_1.1.sql | 20 +-
.../dbmigration/oracle11/1.3.sql | 81 ++++----
.../oracle11/1.4__dropsFor_1.3.sql | 44 ++---
.../oracle11/idx_oracle.migrations | 8 +-
.../dbmigration/postgres/1.0__initial.sql | 40 ++--
.../dbmigration/postgres/1.1.sql | 110 +++++------
.../postgres/1.2__dropsFor_1.1.sql | 25 +--
.../dbmigration/postgres/1.3.sql | 73 ++++---
.../postgres/1.4__dropsFor_1.3.sql | 23 +--
.../postgres/idx_postgres.migrations | 10 +-
.../dbmigration/postgres9/1.0__initial.sql | 40 ++--
.../dbmigration/postgres9/1.1.sql | 110 +++++------
.../postgres9/1.2__dropsFor_1.1.sql | 25 +--
.../dbmigration/postgres9/1.3.sql | 73 ++++---
.../postgres9/1.4__dropsFor_1.3.sql | 23 +--
.../postgres9/idx_postgres.migrations | 10 +-
.../dbmigration/sqlanywhere/1.1.sql | 96 ++++-----
.../sqlanywhere/1.2__dropsFor_1.1.sql | 7 -
.../dbmigration/sqlanywhere/1.3.sql | 69 +++----
.../sqlanywhere/1.4__dropsFor_1.3.sql | 15 --
.../sqlanywhere/idx_sqlanywhere.migrations | 8 +-
.../migrationtest/dbmigration/sqlite/1.1.sql | 92 ++++-----
.../dbmigration/sqlite/1.2__dropsFor_1.1.sql | 7 -
.../migrationtest/dbmigration/sqlite/1.3.sql | 65 +++---
.../dbmigration/sqlite/1.4__dropsFor_1.3.sql | 15 --
.../dbmigration/sqlite/idx_sqlite.migrations | 8 +-
.../dbmigration/sqlserver16/1.0__initial.sql | 6 +-
.../dbmigration/sqlserver16/1.1.sql | 80 ++++----
.../sqlserver16/1.2__dropsFor_1.1.sql | 2 +-
.../dbmigration/sqlserver16/1.3.sql | 73 +++----
.../sqlserver16/1.4__dropsFor_1.3.sql | 2 +-
.../sqlserver16/idx_sqlserver.migrations | 10 +-
.../dbmigration/sqlserver17/1.0__initial.sql | 6 +-
.../dbmigration/sqlserver17/1.1.sql | 80 ++++----
.../sqlserver17/1.2__dropsFor_1.1.sql | 2 +-
.../dbmigration/sqlserver17/1.3.sql | 75 +++----
.../sqlserver17/1.4__dropsFor_1.3.sql | 2 +-
.../sqlserver17/idx_sqlserver.migrations | 10 +-
.../dbmigration/yugabyte/1.0__initial.sql | 86 ++++----
.../dbmigration/yugabyte/1.1.sql | 112 +++++------
.../yugabyte/1.2__dropsFor_1.1.sql | 25 +--
.../dbmigration/yugabyte/1.3.sql | 73 ++++---
.../yugabyte/1.4__dropsFor_1.3.sql | 23 +--
.../yugabyte/idx_yugabyte.migrations | 10 +-
128 files changed, 2555 insertions(+), 2896 deletions(-)
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.1.sql
index b7d677a4d..032c92d9f 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.1.sql
@@ -1,4 +1,10 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-- apply changes
create table migtest_e_user (
id UInt32
@@ -19,63 +25,59 @@ create table migtest_mtm_m_phone_numbers (
value String
) ENGINE = Log();
-alter table migtest_ckey_detail add column one_key UInt32;
-alter table migtest_ckey_detail add column two_key String;
-alter table migtest_ckey_parent add column assoc_id UInt32;
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
-alter table migtest_e_basic alter column status2 String;
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 set null;
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic alter column user_id set null;
-alter table migtest_e_basic add column new_string_field String default 'foo''bar';
-alter table migtest_e_basic add column new_boolean_field UInt8 default true;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 UInt8 default true;
-alter table migtest_e_basic add column progress UInt32 default 0;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer UInt32 default 42;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-alter table migtest_e_history alter column test_string UInt64;
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key UInt32;
+alter table migtest_ckey_detail add column two_key String;
+alter table migtest_ckey_parent add column assoc_id UInt32;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 String;
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 set null;
+alter table migtest_e_basic alter column user_id set null;
+alter table migtest_e_basic add column new_string_field String default 'foo''bar';
+alter table migtest_e_basic add column new_boolean_field UInt8 default true;
+alter table migtest_e_basic add column new_boolean_field2 UInt8 default true;
+alter table migtest_e_basic add column progress UInt32 default 0;
+alter table migtest_e_basic add column new_integer UInt32 default 42;
+alter table migtest_e_history alter column test_string UInt64;
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 String;
alter table migtest_e_history2 add column test_string3 String default 'unknown';
alter table migtest_e_history2 add column new_column String;
-
alter table migtest_e_history4 alter column test_number UInt64;
alter table migtest_e_history5 add column test_boolean UInt8 default false;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 set null;
alter table migtest_e_softdelete add column deleted UInt8 default false;
-
alter table migtest_oto_child add column master_id UInt64;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.2__dropsFor_1.1.sql
index bf1e082c9..219f0c1c5 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.2__dropsFor_1.1.sql
@@ -1,15 +1,8 @@
-- Migrationscripts for ebean unittest
--- apply changes
alter table migtest_e_basic drop column description_file;
-
alter table migtest_e_basic drop column old_boolean;
-
alter table migtest_e_basic drop column old_boolean2;
-
alter table migtest_e_basic drop column eref_id;
-
alter table migtest_e_history2 drop column obsolete_string1;
-
alter table migtest_e_history2 drop column obsolete_string2;
-
drop table if exists migtest_e_ref;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.3.sql
index 88cea0bee..79da8548d 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.3.sql
@@ -1,49 +1,50 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-- apply changes
create table migtest_e_ref (
id UInt32,
name String
) ENGINE = Log();
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status set null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status set null;
alter table migtest_e_basic alter column status2 String;
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob;
alter table migtest_e_basic add column old_boolean UInt8 default false;
alter table migtest_e_basic add column old_boolean2 UInt8;
alter table migtest_e_basic add column eref_id UInt32;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string set null;
alter table migtest_e_history2 add column obsolete_string1 String;
alter table migtest_e_history2 add column obsolete_string2 String;
-
alter table migtest_e_history4 alter column test_number UInt32;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 set null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.4__dropsFor_1.3.sql
index f45a36211..033f0a5a2 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/1.4__dropsFor_1.3.sql
@@ -1,33 +1,18 @@
-- Migrationscripts for ebean unittest
--- apply changes
alter table migtest_ckey_detail drop column one_key;
-
alter table migtest_ckey_detail drop column two_key;
-
alter table migtest_ckey_parent drop column assoc_id;
-
alter table migtest_e_basic drop column new_string_field;
-
alter table migtest_e_basic drop column new_boolean_field;
-
alter table migtest_e_basic drop column new_boolean_field2;
-
alter table migtest_e_basic drop column progress;
-
alter table migtest_e_basic drop column new_integer;
-
alter table migtest_e_history2 drop column test_string2;
-
alter table migtest_e_history2 drop column test_string3;
-
alter table migtest_e_history2 drop column new_column;
-
alter table migtest_e_history5 drop column test_boolean;
-
alter table migtest_e_softdelete drop column deleted;
-
alter table migtest_oto_child drop column master_id;
-
drop table if exists migtest_e_user;
drop table if exists migtest_mtm_c_migtest_mtm_m;
drop table if exists migtest_mtm_m_migtest_mtm_c;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/idx_clickhouse.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/idx_clickhouse.migrations
index 83e4a9ccc..d3b643f3d 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/idx_clickhouse.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/clickhouse/idx_clickhouse.migrations
@@ -1,6 +1,6 @@
-697238714, 1.0__initial.sql
-1864520180, 1.1.sql
-628353409, 1.2__dropsFor_1.1.sql
--489730240, 1.3.sql
--1045594368, 1.4__dropsFor_1.3.sql
+-1730180752, 1.1.sql
+-155876508, 1.2__dropsFor_1.1.sql
+1059765262, 1.3.sql
+767202122, 1.4__dropsFor_1.3.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.1.sql
index 97a71855d..91f885e05 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.1.sql
@@ -1,4 +1,14 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+drop index uq_migtest_e_basic_indextest2 cascade;
+drop index uq_migtest_e_basic_indextest6 cascade;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest1;
+drop index if exists ix_migtest_e_basic_indextest5;
-- apply changes
create table migtest_e_user (
id integer generated by default as identity not null,
@@ -22,78 +32,64 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
-alter table migtest_e_basic alter column status2 type varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 drop not null;
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
-alter table migtest_e_basic alter column user_id drop not null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field boolean default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-drop index uq_migtest_e_basic_indextest2 cascade;
-drop index uq_migtest_e_basic_indextest6 cascade;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-alter table migtest_e_history alter column test_string type bigint;
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 type varchar(127);
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 drop not null;
+alter table migtest_e_basic alter column user_id drop not null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field boolean default true not null;
+alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history alter column test_string type bigint;
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
alter table migtest_e_history2 add column new_column varchar(20);
-
alter table migtest_e_history4 alter column test_number type bigint;
alter table migtest_e_history5 add column test_boolean boolean default false not null;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 drop not null;
alter table migtest_e_softdelete add column deleted boolean default false not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index if exists ix_migtest_e_basic_indextest1;
-drop index if exists ix_migtest_e_basic_indextest5;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
@@ -109,8 +105,14 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.2__dropsFor_1.1.sql
index dc03cd36d..10f33e294 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.2__dropsFor_1.1.sql
@@ -1,16 +1,10 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-
-drop table if exists migtest_e_ref cascade;
drop sequence if exists migtest_e_ref_seq;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+drop table if exists migtest_e_ref cascade;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.3.sql
index 6b369c321..f0f005c1f 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.3.sql
@@ -1,4 +1,21 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table if exists migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
+alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table if exists migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
+alter table if exists migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
+alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+drop index uq_migtest_e_basic_description cascade;
+alter table if exists migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
+drop index uq_migtest_e_basic_status_indextest1 cascade;
+drop index uq_migtest_e_basic_name cascade;
+drop index uq_migtest_e_basic_indextest4 cascade;
+drop index uq_migtest_e_basic_indextest5 cascade;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest3;
+drop index if exists ix_migtest_e_basic_indextest6;
-- apply changes
create table migtest_e_ref (
id integer generated by default as identity not null,
@@ -7,60 +24,44 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
-alter table if exists migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
-alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-alter table if exists migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
-alter table if exists migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
-alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status drop not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status drop not null;
alter table migtest_e_basic alter column status2 type varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-drop index uq_migtest_e_basic_description cascade;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
-alter table if exists migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file bytea;
alter table migtest_e_basic add column old_boolean boolean default false not null;
alter table migtest_e_basic add column old_boolean2 boolean;
alter table migtest_e_basic add column eref_id integer;
-
-drop index uq_migtest_e_basic_status_indextest1 cascade;
-drop index uq_migtest_e_basic_name cascade;
-drop index uq_migtest_e_basic_indextest4 cascade;
-drop index uq_migtest_e_basic_indextest5 cascade;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string drop not null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
-
alter table migtest_e_history4 alter column test_number type integer;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 drop not null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index if exists ix_migtest_e_basic_indextest3;
-drop index if exists ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.4__dropsFor_1.3.sql
index 585b09841..58c3531c6 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/1.4__dropsFor_1.3.sql
@@ -1,35 +1,21 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_ckey_detail drop column one_key;
-
-alter table migtest_ckey_detail drop column two_key;
-
-alter table migtest_ckey_parent drop column assoc_id;
-
-alter table migtest_e_basic drop column new_string_field;
-
-alter table migtest_e_basic drop column new_boolean_field;
-
-alter table migtest_e_basic drop column new_boolean_field2;
-
-alter table migtest_e_basic drop column progress;
-
-alter table migtest_e_basic drop column new_integer;
-
-alter table migtest_e_history2 drop column test_string2;
-
-alter table migtest_e_history2 drop column test_string3;
-
-alter table migtest_e_history2 drop column new_column;
-
-alter table migtest_e_history5 drop column test_boolean;
-
-alter table migtest_e_softdelete drop column deleted;
-
-alter table migtest_oto_child drop column master_id;
-
-drop table if exists migtest_e_user cascade;
drop sequence if exists migtest_e_user_seq;
+alter table migtest_ckey_detail drop column one_key;
+alter table migtest_ckey_detail drop column two_key;
+alter table migtest_ckey_parent drop column assoc_id;
+alter table migtest_e_basic drop column new_string_field;
+alter table migtest_e_basic drop column new_boolean_field;
+alter table migtest_e_basic drop column new_boolean_field2;
+alter table migtest_e_basic drop column progress;
+alter table migtest_e_basic drop column new_integer;
+alter table migtest_e_history2 drop column test_string2;
+alter table migtest_e_history2 drop column test_string3;
+alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history5 drop column test_boolean;
+alter table migtest_e_softdelete drop column deleted;
+alter table migtest_oto_child drop column master_id;
+drop table if exists migtest_e_user cascade;
drop table if exists migtest_mtm_c_migtest_mtm_m cascade;
drop table if exists migtest_mtm_m_migtest_mtm_c cascade;
drop table if exists migtest_mtm_m_phone_numbers cascade;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/idx_cockroach.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/idx_cockroach.migrations
index 0ba59d68c..126d21dc2 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/idx_cockroach.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/cockroach/idx_cockroach.migrations
@@ -1,7 +1,7 @@
-1611775717, 1.0__initial.sql
--525928117, 1.1.sql
-746142601, 1.2__dropsFor_1.1.sql
--1795996592, 1.3.sql
--574081288, 1.4__dropsFor_1.3.sql
+-1338613903, 1.1.sql
+-1958981572, 1.2__dropsFor_1.1.sql
+1074808242, 1.3.sql
+546721540, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.0__initial.sql
index 05b097f9e..bc5ff797e 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.0__initial.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.0__initial.sql
@@ -76,8 +76,6 @@ create table migtest_e_basic (
constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I')),
constraint pk_migtest_e_basic primary key (id)
);
-create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
-create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
create table migtest_e_enum (
id integer generated by default as identity not null,
@@ -130,7 +128,6 @@ create table migtest_e_ref (
name varchar(127) not null,
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
create table migtest_e_softdelete (
id integer generated by default as identity not null,
@@ -162,6 +159,9 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
+create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
+create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
+alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.1.sql
index cfed3e3ef..dda555e4b 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.1.sql
@@ -1,4 +1,14 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
+drop index ix_migtest_e_basic_indextest1;
+drop index ix_migtest_e_basic_indextest5;
-- apply changes
create table migtest_e_user (
id integer generated by default as identity not null,
@@ -22,81 +32,67 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
-alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
-alter table migtest_e_basic alter column status2 set data type varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 drop not null;
-- db2 does not support parial null indices :( - so we have to clean;
update migtest_e_basic set status = 'N' where id = 1;
-create unique index uq_migtest_e_basic_description on migtest_e_basic(description) exclude null keys;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict;
-alter table migtest_e_basic alter column user_id drop not null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field smallint default 0 default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 smallint default 0 default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-create unique index uq_migtest_e_basic_status_indextest1 on migtest_e_basic(status,indextest1) exclude null keys;
-create unique index uq_migtest_e_basic_name on migtest_e_basic(name) exclude null keys;
-create unique index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4) exclude null keys;
-create unique index uq_migtest_e_basic_indextest5 on migtest_e_basic(indextest5) exclude null keys;
-alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
-comment on column migtest_e_history.test_string is 'Column altered to long now';
-alter table migtest_e_history alter column test_string set data type bigint;
-comment on table migtest_e_history is 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 set data type varchar(127);
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 drop not null;
+alter table migtest_e_basic alter column user_id drop not null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field smallint default 0 default true not null;
+alter table migtest_e_basic add column new_boolean_field2 smallint default 0 default true not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history alter column test_string set data type bigint;
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
alter table migtest_e_history2 add column new_column varchar(20);
-
alter table migtest_e_history4 alter column test_number set data type bigint;
alter table migtest_e_history5 add column test_boolean smallint default 0 default false not null;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 drop not null;
alter table migtest_e_softdelete add column deleted smallint default 0 default false not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+create unique index uq_migtest_e_basic_description on migtest_e_basic(description) exclude null keys;
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+create unique index uq_migtest_e_basic_status_indextest1 on migtest_e_basic(status,indextest1) exclude null keys;
+create unique index uq_migtest_e_basic_name on migtest_e_basic(name) exclude null keys;
+create unique index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4) exclude null keys;
+create unique index uq_migtest_e_basic_indextest5 on migtest_e_basic(indextest5) exclude null keys;
+comment on column migtest_e_history.test_string is 'Column altered to long now';
+comment on table migtest_e_history is 'We have history now';
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index ix_migtest_e_basic_indextest1;
-drop index ix_migtest_e_basic_indextest5;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict;
@@ -112,8 +108,14 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.2__dropsFor_1.1.sql
index 6dd324358..248e4eb1d 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.2__dropsFor_1.1.sql
@@ -1,16 +1,10 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-
-drop table migtest_e_ref;
drop sequence migtest_e_ref_seq;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+drop table migtest_e_ref;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.3.sql
index 67dc88e93..e70e9c4fe 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.3.sql
@@ -1,68 +1,69 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_ckey_detail drop constraint fk_migtest_ckey_detail_parent;
+alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
+alter table migtest_fk_none_via_join drop constraint fk_migtest_fk_none_via_join_one_id;
+alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
+alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
+alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
+drop index ix_migtest_e_basic_indextest3;
+drop index ix_migtest_e_basic_indextest6;
-- apply changes
create table migtest_e_ref (
id integer generated by default as identity not null,
name varchar(127) not null,
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
-alter table migtest_ckey_detail drop constraint fk_migtest_ckey_detail_parent;
-alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
-alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
-alter table migtest_fk_none_via_join drop constraint fk_migtest_fk_none_via_join_one_id;
-alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status drop not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status drop not null;
alter table migtest_e_basic alter column status2 set data type varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob(64M);
alter table migtest_e_basic add column old_boolean smallint default 0 default false not null;
alter table migtest_e_basic add column old_boolean2 smallint default 0;
alter table migtest_e_basic add column eref_id integer;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
-create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
-alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string drop not null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
-
alter table migtest_e_history4 alter column test_number set data type integer;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 drop not null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
+create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index ix_migtest_e_basic_indextest3;
-drop index ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.4__dropsFor_1.3.sql
index bd6f31169..9c502bad5 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/1.4__dropsFor_1.3.sql
@@ -1,35 +1,21 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_ckey_detail drop column one_key;
-
-alter table migtest_ckey_detail drop column two_key;
-
-alter table migtest_ckey_parent drop column assoc_id;
-
-alter table migtest_e_basic drop column new_string_field;
-
-alter table migtest_e_basic drop column new_boolean_field;
-
-alter table migtest_e_basic drop column new_boolean_field2;
-
-alter table migtest_e_basic drop column progress;
-
-alter table migtest_e_basic drop column new_integer;
-
-alter table migtest_e_history2 drop column test_string2;
-
-alter table migtest_e_history2 drop column test_string3;
-
-alter table migtest_e_history2 drop column new_column;
-
-alter table migtest_e_history5 drop column test_boolean;
-
-alter table migtest_e_softdelete drop column deleted;
-
-alter table migtest_oto_child drop column master_id;
-
-drop table migtest_e_user;
drop sequence migtest_e_user_seq;
+alter table migtest_ckey_detail drop column one_key;
+alter table migtest_ckey_detail drop column two_key;
+alter table migtest_ckey_parent drop column assoc_id;
+alter table migtest_e_basic drop column new_string_field;
+alter table migtest_e_basic drop column new_boolean_field;
+alter table migtest_e_basic drop column new_boolean_field2;
+alter table migtest_e_basic drop column progress;
+alter table migtest_e_basic drop column new_integer;
+alter table migtest_e_history2 drop column test_string2;
+alter table migtest_e_history2 drop column test_string3;
+alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history5 drop column test_boolean;
+alter table migtest_e_softdelete drop column deleted;
+alter table migtest_oto_child drop column master_id;
+drop table migtest_e_user;
drop table migtest_mtm_c_migtest_mtm_m;
drop table migtest_mtm_m_migtest_mtm_c;
drop table migtest_mtm_m_phone_numbers;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/idx_db2.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/idx_db2.migrations
index 4b0730bca..93127463e 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/idx_db2.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2fori/idx_db2.migrations
@@ -1,7 +1,7 @@
--1545566871, 1.0__initial.sql
--1594597621, 1.1.sql
--1093742153, 1.2__dropsFor_1.1.sql
-217221833, 1.3.sql
-441227910, 1.4__dropsFor_1.3.sql
+-2143374692, 1.0__initial.sql
+871483623, 1.1.sql
+-812302674, 1.2__dropsFor_1.1.sql
+-628362807, 1.3.sql
+-915919511, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.0__initial.sql
index 436ede7d6..9023b5a61 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.0__initial.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.0__initial.sql
@@ -76,8 +76,6 @@ create table migtest_e_basic (
constraint ck_mgtst__b_z543fg check ( status2 in ('N','A','I')),
constraint pk_migtest_e_basic primary key (id)
);
-create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
-create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
create table migtest_e_enum (
id integer generated by default as identity not null,
@@ -130,7 +128,6 @@ create table migtest_e_ref (
name varchar(127) not null,
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_e_ref add constraint uq_mgtst__rf_nm unique (name);
create table migtest_e_softdelete (
id integer generated by default as identity not null,
@@ -162,6 +159,9 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
+create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
+create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
+alter table migtest_e_ref add constraint uq_mgtst__rf_nm unique (name);
create index ix_mgtst__b_eu8csq on migtest_e_basic (indextest1);
create index ix_mgtst__b_eu8csu on migtest_e_basic (indextest5);
create index ix_mgtst_fk_mok1xj on migtest_fk_cascade (one_id);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.1.sql
index eb81e66e0..0cef0468a 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.1.sql
@@ -1,4 +1,14 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_fk_cascade drop constraint fk_mgtst_fk_65kf6l;
+alter table migtest_fk_set_null drop constraint fk_mgtst_fk_wicx8x;
+alter table migtest_e_basic drop constraint ck_mgtst__bsc_stts;
+alter table migtest_e_basic drop constraint ck_mgtst__b_z543fg;
+alter table migtest_e_basic drop constraint uq_mgtst__b_4aybzy;
+alter table migtest_e_basic drop constraint uq_mgtst__b_4ayc02;
+alter table migtest_e_enum drop constraint ck_mgtst__n_773sok;
+drop index ix_mgtst__b_eu8csq;
+drop index ix_mgtst__b_eu8csu;
-- apply changes
create table migtest_e_user (
id integer generated by default as identity not null,
@@ -22,81 +32,67 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_mgtst_ck_e1qkb5 foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table migtest_fk_cascade drop constraint fk_mgtst_fk_65kf6l;
-alter table migtest_fk_cascade add constraint fk_mgtst_fk_65kf6l foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict;
-alter table migtest_fk_none add constraint fk_mgtst_fk_nn_n_d foreign key (one_id) references migtest_fk_one (id) on delete restrict;
-alter table migtest_fk_none_via_join add constraint fk_mgtst_fk_9tknzj foreign key (one_id) references migtest_fk_one (id) on delete restrict;
-alter table migtest_fk_set_null drop constraint fk_mgtst_fk_wicx8x;
-alter table migtest_fk_set_null add constraint fk_mgtst_fk_wicx8x foreign key (one_id) references migtest_fk_one (id) on delete restrict;
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint ck_mgtst__bsc_stts;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_mgtst__bsc_stts check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint ck_mgtst__b_z543fg;
-alter table migtest_e_basic alter column status2 set data type varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 drop not null;
-- db2 does not support parial null indices :( - so we have to clean;
update migtest_e_basic set status = 'N' where id = 1;
-create unique index uq_migtest_e_basic_description on migtest_e_basic(description) exclude null keys;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_mgtst__bsc_sr_d foreign key (user_id) references migtest_e_user (id) on delete restrict;
-alter table migtest_e_basic alter column user_id drop not null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field boolean default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_mgtst__b_l39g41 check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop constraint uq_mgtst__b_4aybzy;
-alter table migtest_e_basic drop constraint uq_mgtst__b_4ayc02;
-create unique index uq_migtest_e_basic_status_indextest1 on migtest_e_basic(status,indextest1) exclude null keys;
-create unique index uq_migtest_e_basic_name on migtest_e_basic(name) exclude null keys;
-create unique index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4) exclude null keys;
-create unique index uq_migtest_e_basic_indextest5 on migtest_e_basic(indextest5) exclude null keys;
-alter table migtest_e_enum drop constraint ck_mgtst__n_773sok;
-comment on column migtest_e_history.test_string is 'Column altered to long now';
-alter table migtest_e_history alter column test_string set data type bigint;
-comment on table migtest_e_history is 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 set data type varchar(127);
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 drop not null;
+alter table migtest_e_basic alter column user_id drop not null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field boolean default true not null;
+alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history alter column test_string set data type bigint;
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
alter table migtest_e_history2 add column new_column varchar(20);
-
alter table migtest_e_history4 alter column test_number set data type bigint;
alter table migtest_e_history5 add column test_boolean boolean default false not null;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 drop not null;
alter table migtest_e_softdelete add column deleted boolean default false not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint ck_mgtst__bsc_stts check ( status in ('N','A','I','?'));
+create unique index uq_migtest_e_basic_description on migtest_e_basic(description) exclude null keys;
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_mgtst__b_l39g41 check ( progress in (0,1,2));
+create unique index uq_migtest_e_basic_status_indextest1 on migtest_e_basic(status,indextest1) exclude null keys;
+create unique index uq_migtest_e_basic_name on migtest_e_basic(name) exclude null keys;
+create unique index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4) exclude null keys;
+create unique index uq_migtest_e_basic_indextest5 on migtest_e_basic(indextest5) exclude null keys;
+comment on column migtest_e_history.test_string is 'Column altered to long now';
+comment on table migtest_e_history is 'We have history now';
create index ix_mgtst__b_eu8css on migtest_e_basic (indextest3);
create index ix_mgtst__b_eu8csv on migtest_e_basic (indextest6);
-drop index ix_mgtst__b_eu8csq;
-drop index ix_mgtst__b_eu8csu;
create index ix_mgtst_mt_3ug4ok on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_mgtst_mt_93awga foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict;
@@ -112,8 +108,14 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_mgtst_mt_ggi34a foreig
create index ix_mgtst_mt_do9ma3 on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_mgtst_mt_s8neid foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict;
+alter table migtest_ckey_detail add constraint fk_mgtst_ck_e1qkb5 foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict;
create index ix_mgtst_ck_x45o21 on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_mgtst_ck_da00mr foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict;
+alter table migtest_fk_cascade add constraint fk_mgtst_fk_65kf6l foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict;
+alter table migtest_fk_none add constraint fk_mgtst_fk_nn_n_d foreign key (one_id) references migtest_fk_one (id) on delete restrict;
+alter table migtest_fk_none_via_join add constraint fk_mgtst_fk_9tknzj foreign key (one_id) references migtest_fk_one (id) on delete restrict;
+alter table migtest_fk_set_null add constraint fk_mgtst_fk_wicx8x foreign key (one_id) references migtest_fk_one (id) on delete restrict;
+alter table migtest_e_basic add constraint fk_mgtst__bsc_sr_d foreign key (user_id) references migtest_e_user (id) on delete restrict;
alter table migtest_oto_child add constraint fk_mgtst_t__csyl38 foreign key (master_id) references migtest_oto_master (id) on delete restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.2__dropsFor_1.1.sql
index 6dd324358..248e4eb1d 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.2__dropsFor_1.1.sql
@@ -1,16 +1,10 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-
-drop table migtest_e_ref;
drop sequence migtest_e_ref_seq;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+drop table migtest_e_ref;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.3.sql
index c14e3c85b..95cab2ab2 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.3.sql
@@ -1,68 +1,69 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_ckey_detail drop constraint fk_mgtst_ck_e1qkb5;
+alter table migtest_fk_cascade drop constraint fk_mgtst_fk_65kf6l;
+alter table migtest_fk_none drop constraint fk_mgtst_fk_nn_n_d;
+alter table migtest_fk_none_via_join drop constraint fk_mgtst_fk_9tknzj;
+alter table migtest_fk_set_null drop constraint fk_mgtst_fk_wicx8x;
+alter table migtest_e_basic drop constraint ck_mgtst__bsc_stts;
+alter table migtest_e_basic drop constraint ck_mgtst__b_z543fg;
+alter table migtest_e_basic drop constraint uq_mgtst__b_vs45xo;
+alter table migtest_e_basic drop constraint fk_mgtst__bsc_sr_d;
+alter table migtest_e_basic drop constraint uq_mgtst__b_ucfcne;
+alter table migtest_e_basic drop constraint uq_mgtst__bsc_nm;
+alter table migtest_e_basic drop constraint uq_mgtst__b_4ayc00;
+alter table migtest_e_basic drop constraint uq_mgtst__b_4ayc01;
+alter table migtest_e_enum drop constraint ck_mgtst__n_773sok;
+drop index ix_mgtst__b_eu8css;
+drop index ix_mgtst__b_eu8csv;
-- apply changes
create table migtest_e_ref (
id integer generated by default as identity not null,
name varchar(127) not null,
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_e_ref add constraint uq_mgtst__rf_nm unique (name);
-alter table migtest_ckey_detail drop constraint fk_mgtst_ck_e1qkb5;
-alter table migtest_fk_cascade drop constraint fk_mgtst_fk_65kf6l;
-alter table migtest_fk_cascade add constraint fk_mgtst_fk_65kf6l foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
-alter table migtest_fk_none drop constraint fk_mgtst_fk_nn_n_d;
-alter table migtest_fk_none_via_join drop constraint fk_mgtst_fk_9tknzj;
-alter table migtest_fk_set_null drop constraint fk_mgtst_fk_wicx8x;
-alter table migtest_fk_set_null add constraint fk_mgtst_fk_wicx8x foreign key (one_id) references migtest_fk_one (id) on delete set null;
-alter table migtest_e_basic drop constraint ck_mgtst__bsc_stts;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status drop not null;
-alter table migtest_e_basic add constraint ck_mgtst__bsc_stts check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint ck_mgtst__b_z543fg;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status drop not null;
alter table migtest_e_basic alter column status2 set data type varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_mgtst__b_z543fg check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_mgtst__b_vs45xo;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop constraint fk_mgtst__bsc_sr_d;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob(64M);
alter table migtest_e_basic add column old_boolean boolean default false not null;
alter table migtest_e_basic add column old_boolean2 boolean;
alter table migtest_e_basic add column eref_id integer;
-
-alter table migtest_e_basic drop constraint uq_mgtst__b_ucfcne;
-alter table migtest_e_basic drop constraint uq_mgtst__bsc_nm;
-alter table migtest_e_basic drop constraint uq_mgtst__b_4ayc00;
-alter table migtest_e_basic drop constraint uq_mgtst__b_4ayc01;
-create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
-create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
-alter table migtest_e_enum drop constraint ck_mgtst__n_773sok;
-alter table migtest_e_enum add constraint ck_mgtst__n_773sok check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string drop not null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
-
alter table migtest_e_history4 alter column test_number set data type integer;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 drop not null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_ref add constraint uq_mgtst__rf_nm unique (name);
+alter table migtest_e_basic add constraint ck_mgtst__bsc_stts check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_mgtst__b_z543fg check ( status2 in ('N','A','I'));
+create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
+create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
+alter table migtest_e_enum add constraint ck_mgtst__n_773sok check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
create index ix_mgtst__b_eu8csq on migtest_e_basic (indextest1);
create index ix_mgtst__b_eu8csu on migtest_e_basic (indextest5);
-drop index ix_mgtst__b_eu8css;
-drop index ix_mgtst__b_eu8csv;
+alter table migtest_fk_cascade add constraint fk_mgtst_fk_65kf6l foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
+alter table migtest_fk_set_null add constraint fk_mgtst_fk_wicx8x foreign key (one_id) references migtest_fk_one (id) on delete set null;
create index ix_mgtst__bsc_rf_d on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_mgtst__bsc_rf_d foreign key (eref_id) references migtest_e_ref (id) on delete restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.4__dropsFor_1.3.sql
index bd6f31169..9c502bad5 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/1.4__dropsFor_1.3.sql
@@ -1,35 +1,21 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_ckey_detail drop column one_key;
-
-alter table migtest_ckey_detail drop column two_key;
-
-alter table migtest_ckey_parent drop column assoc_id;
-
-alter table migtest_e_basic drop column new_string_field;
-
-alter table migtest_e_basic drop column new_boolean_field;
-
-alter table migtest_e_basic drop column new_boolean_field2;
-
-alter table migtest_e_basic drop column progress;
-
-alter table migtest_e_basic drop column new_integer;
-
-alter table migtest_e_history2 drop column test_string2;
-
-alter table migtest_e_history2 drop column test_string3;
-
-alter table migtest_e_history2 drop column new_column;
-
-alter table migtest_e_history5 drop column test_boolean;
-
-alter table migtest_e_softdelete drop column deleted;
-
-alter table migtest_oto_child drop column master_id;
-
-drop table migtest_e_user;
drop sequence migtest_e_user_seq;
+alter table migtest_ckey_detail drop column one_key;
+alter table migtest_ckey_detail drop column two_key;
+alter table migtest_ckey_parent drop column assoc_id;
+alter table migtest_e_basic drop column new_string_field;
+alter table migtest_e_basic drop column new_boolean_field;
+alter table migtest_e_basic drop column new_boolean_field2;
+alter table migtest_e_basic drop column progress;
+alter table migtest_e_basic drop column new_integer;
+alter table migtest_e_history2 drop column test_string2;
+alter table migtest_e_history2 drop column test_string3;
+alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history5 drop column test_boolean;
+alter table migtest_e_softdelete drop column deleted;
+alter table migtest_oto_child drop column master_id;
+drop table migtest_e_user;
drop table migtest_mtm_c_migtest_mtm_m;
drop table migtest_mtm_m_migtest_mtm_c;
drop table migtest_mtm_m_phone_numbers;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/idx_db2.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/idx_db2.migrations
index e9d6d9fb7..9c2586f1a 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/idx_db2.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2legacy/idx_db2.migrations
@@ -1,7 +1,7 @@
-835032311, 1.0__initial.sql
--1126979163, 1.1.sql
--1093742153, 1.2__dropsFor_1.1.sql
-661912050, 1.3.sql
-441227910, 1.4__dropsFor_1.3.sql
+1284033584, 1.0__initial.sql
+421195742, 1.1.sql
+-812302674, 1.2__dropsFor_1.1.sql
+-1132737052, 1.3.sql
+-915919511, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.0__initial.sql
index 9123e160b..09c308846 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
@@ -76,8 +76,6 @@ create table migtest_e_basic (
constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I')),
constraint pk_migtest_e_basic primary key (id)
);
-create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
-create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
create table migtest_e_enum (
id integer generated by default as identity not null,
@@ -130,7 +128,6 @@ create table migtest_e_ref (
name varchar(127) not null,
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
create table migtest_e_softdelete (
id integer generated by default as identity not null,
@@ -162,6 +159,9 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
+create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
+create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
+alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.1.sql
index c56948302..6fcb022f4 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.1.sql
@@ -1,4 +1,14 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
+drop index ix_migtest_e_basic_indextest1;
+drop index ix_migtest_e_basic_indextest5;
-- apply changes
create table migtest_e_user (
id integer generated by default as identity not null,
@@ -22,81 +32,67 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
-alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
-alter table migtest_e_basic alter column status2 set data type varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 drop not null;
-- db2 does not support parial null indices :( - so we have to clean;
update migtest_e_basic set status = 'N' where id = 1;
-create unique index uq_migtest_e_basic_description on migtest_e_basic(description) exclude null keys;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict;
-alter table migtest_e_basic alter column user_id drop not null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field boolean default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-create unique index uq_migtest_e_basic_status_indextest1 on migtest_e_basic(status,indextest1) exclude null keys;
-create unique index uq_migtest_e_basic_name on migtest_e_basic(name) exclude null keys;
-create unique index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4) exclude null keys;
-create unique index uq_migtest_e_basic_indextest5 on migtest_e_basic(indextest5) exclude null keys;
-alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
-comment on column migtest_e_history.test_string is 'Column altered to long now';
-alter table migtest_e_history alter column test_string set data type bigint;
-comment on table migtest_e_history is 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 set data type varchar(127);
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 drop not null;
+alter table migtest_e_basic alter column user_id drop not null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field boolean default true not null;
+alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history alter column test_string set data type bigint;
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
alter table migtest_e_history2 add column new_column varchar(20);
-
alter table migtest_e_history4 alter column test_number set data type bigint;
alter table migtest_e_history5 add column test_boolean boolean default false not null;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 drop not null;
alter table migtest_e_softdelete add column deleted boolean default false not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+create unique index uq_migtest_e_basic_description on migtest_e_basic(description) exclude null keys;
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+create unique index uq_migtest_e_basic_status_indextest1 on migtest_e_basic(status,indextest1) exclude null keys;
+create unique index uq_migtest_e_basic_name on migtest_e_basic(name) exclude null keys;
+create unique index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4) exclude null keys;
+create unique index uq_migtest_e_basic_indextest5 on migtest_e_basic(indextest5) exclude null keys;
+comment on column migtest_e_history.test_string is 'Column altered to long now';
+comment on table migtest_e_history is 'We have history now';
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index ix_migtest_e_basic_indextest1;
-drop index ix_migtest_e_basic_indextest5;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict;
@@ -112,8 +108,14 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict;
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 6dd324358..248e4eb1d 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,16 +1,10 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-
-drop table migtest_e_ref;
drop sequence migtest_e_ref_seq;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+drop table migtest_e_ref;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.3.sql
index c0d33b5f0..4895ff052 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.3.sql
@@ -1,68 +1,69 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_ckey_detail drop constraint fk_migtest_ckey_detail_parent;
+alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
+alter table migtest_fk_none_via_join drop constraint fk_migtest_fk_none_via_join_one_id;
+alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
+alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
+alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
+drop index ix_migtest_e_basic_indextest3;
+drop index ix_migtest_e_basic_indextest6;
-- apply changes
create table migtest_e_ref (
id integer generated by default as identity not null,
name varchar(127) not null,
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
-alter table migtest_ckey_detail drop constraint fk_migtest_ckey_detail_parent;
-alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
-alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
-alter table migtest_fk_none_via_join drop constraint fk_migtest_fk_none_via_join_one_id;
-alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status drop not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status drop not null;
alter table migtest_e_basic alter column status2 set data type varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob(64M);
alter table migtest_e_basic add column old_boolean boolean default false not null;
alter table migtest_e_basic add column old_boolean2 boolean;
alter table migtest_e_basic add column eref_id integer;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
-create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
-alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string drop not null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
-
alter table migtest_e_history4 alter column test_number set data type integer;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 drop not null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
+create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index ix_migtest_e_basic_indextest3;
-drop index ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.4__dropsFor_1.3.sql
index bd6f31169..9c502bad5 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2luw/1.4__dropsFor_1.3.sql
@@ -1,35 +1,21 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_ckey_detail drop column one_key;
-
-alter table migtest_ckey_detail drop column two_key;
-
-alter table migtest_ckey_parent drop column assoc_id;
-
-alter table migtest_e_basic drop column new_string_field;
-
-alter table migtest_e_basic drop column new_boolean_field;
-
-alter table migtest_e_basic drop column new_boolean_field2;
-
-alter table migtest_e_basic drop column progress;
-
-alter table migtest_e_basic drop column new_integer;
-
-alter table migtest_e_history2 drop column test_string2;
-
-alter table migtest_e_history2 drop column test_string3;
-
-alter table migtest_e_history2 drop column new_column;
-
-alter table migtest_e_history5 drop column test_boolean;
-
-alter table migtest_e_softdelete drop column deleted;
-
-alter table migtest_oto_child drop column master_id;
-
-drop table migtest_e_user;
drop sequence migtest_e_user_seq;
+alter table migtest_ckey_detail drop column one_key;
+alter table migtest_ckey_detail drop column two_key;
+alter table migtest_ckey_parent drop column assoc_id;
+alter table migtest_e_basic drop column new_string_field;
+alter table migtest_e_basic drop column new_boolean_field;
+alter table migtest_e_basic drop column new_boolean_field2;
+alter table migtest_e_basic drop column progress;
+alter table migtest_e_basic drop column new_integer;
+alter table migtest_e_history2 drop column test_string2;
+alter table migtest_e_history2 drop column test_string3;
+alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history5 drop column test_boolean;
+alter table migtest_e_softdelete drop column deleted;
+alter table migtest_oto_child drop column master_id;
+drop table migtest_e_user;
drop table migtest_mtm_c_migtest_mtm_m;
drop table migtest_mtm_m_migtest_mtm_c;
drop table migtest_mtm_m_phone_numbers;
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 08a6b5282..fd0c912fb 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 @@
--376187636, 1.0__initial.sql
-1615151513, 1.1.sql
--1093742153, 1.2__dropsFor_1.1.sql
-1569705465, 1.3.sql
-441227910, 1.4__dropsFor_1.3.sql
+-900865287, 1.0__initial.sql
+2094022383, 1.1.sql
+-812302674, 1.2__dropsFor_1.1.sql
+291385069, 1.3.sql
+-915919511, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.0__initial.sql
index 9123e160b..09c308846 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.0__initial.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.0__initial.sql
@@ -76,8 +76,6 @@ create table migtest_e_basic (
constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I')),
constraint pk_migtest_e_basic primary key (id)
);
-create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
-create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
create table migtest_e_enum (
id integer generated by default as identity not null,
@@ -130,7 +128,6 @@ create table migtest_e_ref (
name varchar(127) not null,
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
create table migtest_e_softdelete (
id integer generated by default as identity not null,
@@ -162,6 +159,9 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
+create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
+create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
+alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.1.sql
index c56948302..6fcb022f4 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.1.sql
@@ -1,4 +1,14 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
+drop index ix_migtest_e_basic_indextest1;
+drop index ix_migtest_e_basic_indextest5;
-- apply changes
create table migtest_e_user (
id integer generated by default as identity not null,
@@ -22,81 +32,67 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
-alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
-alter table migtest_e_basic alter column status2 set data type varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 drop not null;
-- db2 does not support parial null indices :( - so we have to clean;
update migtest_e_basic set status = 'N' where id = 1;
-create unique index uq_migtest_e_basic_description on migtest_e_basic(description) exclude null keys;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict;
-alter table migtest_e_basic alter column user_id drop not null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field boolean default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-create unique index uq_migtest_e_basic_status_indextest1 on migtest_e_basic(status,indextest1) exclude null keys;
-create unique index uq_migtest_e_basic_name on migtest_e_basic(name) exclude null keys;
-create unique index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4) exclude null keys;
-create unique index uq_migtest_e_basic_indextest5 on migtest_e_basic(indextest5) exclude null keys;
-alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
-comment on column migtest_e_history.test_string is 'Column altered to long now';
-alter table migtest_e_history alter column test_string set data type bigint;
-comment on table migtest_e_history is 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 set data type varchar(127);
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 drop not null;
+alter table migtest_e_basic alter column user_id drop not null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field boolean default true not null;
+alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history alter column test_string set data type bigint;
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
alter table migtest_e_history2 add column new_column varchar(20);
-
alter table migtest_e_history4 alter column test_number set data type bigint;
alter table migtest_e_history5 add column test_boolean boolean default false not null;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 drop not null;
alter table migtest_e_softdelete add column deleted boolean default false not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+create unique index uq_migtest_e_basic_description on migtest_e_basic(description) exclude null keys;
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+create unique index uq_migtest_e_basic_status_indextest1 on migtest_e_basic(status,indextest1) exclude null keys;
+create unique index uq_migtest_e_basic_name on migtest_e_basic(name) exclude null keys;
+create unique index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4) exclude null keys;
+create unique index uq_migtest_e_basic_indextest5 on migtest_e_basic(indextest5) exclude null keys;
+comment on column migtest_e_history.test_string is 'Column altered to long now';
+comment on table migtest_e_history is 'We have history now';
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index ix_migtest_e_basic_indextest1;
-drop index ix_migtest_e_basic_indextest5;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict;
@@ -112,8 +108,14 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.2__dropsFor_1.1.sql
index 6dd324358..248e4eb1d 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.2__dropsFor_1.1.sql
@@ -1,16 +1,10 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-
-drop table migtest_e_ref;
drop sequence migtest_e_ref_seq;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+drop table migtest_e_ref;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.3.sql
index c0d33b5f0..4895ff052 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.3.sql
@@ -1,68 +1,69 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_ckey_detail drop constraint fk_migtest_ckey_detail_parent;
+alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
+alter table migtest_fk_none_via_join drop constraint fk_migtest_fk_none_via_join_one_id;
+alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
+alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
+alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
+drop index ix_migtest_e_basic_indextest3;
+drop index ix_migtest_e_basic_indextest6;
-- apply changes
create table migtest_e_ref (
id integer generated by default as identity not null,
name varchar(127) not null,
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
-alter table migtest_ckey_detail drop constraint fk_migtest_ckey_detail_parent;
-alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
-alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
-alter table migtest_fk_none_via_join drop constraint fk_migtest_fk_none_via_join_one_id;
-alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status drop not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status drop not null;
alter table migtest_e_basic alter column status2 set data type varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob(64M);
alter table migtest_e_basic add column old_boolean boolean default false not null;
alter table migtest_e_basic add column old_boolean2 boolean;
alter table migtest_e_basic add column eref_id integer;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
-create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
-alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string drop not null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
-
alter table migtest_e_history4 alter column test_number set data type integer;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 drop not null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+create unique index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) exclude null keys;
+create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) exclude null keys;
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index ix_migtest_e_basic_indextest3;
-drop index ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.4__dropsFor_1.3.sql
index bd6f31169..9c502bad5 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/1.4__dropsFor_1.3.sql
@@ -1,35 +1,21 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_ckey_detail drop column one_key;
-
-alter table migtest_ckey_detail drop column two_key;
-
-alter table migtest_ckey_parent drop column assoc_id;
-
-alter table migtest_e_basic drop column new_string_field;
-
-alter table migtest_e_basic drop column new_boolean_field;
-
-alter table migtest_e_basic drop column new_boolean_field2;
-
-alter table migtest_e_basic drop column progress;
-
-alter table migtest_e_basic drop column new_integer;
-
-alter table migtest_e_history2 drop column test_string2;
-
-alter table migtest_e_history2 drop column test_string3;
-
-alter table migtest_e_history2 drop column new_column;
-
-alter table migtest_e_history5 drop column test_boolean;
-
-alter table migtest_e_softdelete drop column deleted;
-
-alter table migtest_oto_child drop column master_id;
-
-drop table migtest_e_user;
drop sequence migtest_e_user_seq;
+alter table migtest_ckey_detail drop column one_key;
+alter table migtest_ckey_detail drop column two_key;
+alter table migtest_ckey_parent drop column assoc_id;
+alter table migtest_e_basic drop column new_string_field;
+alter table migtest_e_basic drop column new_boolean_field;
+alter table migtest_e_basic drop column new_boolean_field2;
+alter table migtest_e_basic drop column progress;
+alter table migtest_e_basic drop column new_integer;
+alter table migtest_e_history2 drop column test_string2;
+alter table migtest_e_history2 drop column test_string3;
+alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history5 drop column test_boolean;
+alter table migtest_e_softdelete drop column deleted;
+alter table migtest_oto_child drop column master_id;
+drop table migtest_e_user;
drop table migtest_mtm_c_migtest_mtm_m;
drop table migtest_mtm_m_migtest_mtm_c;
drop table migtest_mtm_m_phone_numbers;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/idx_db2.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/idx_db2.migrations
index 08a6b5282..fd0c912fb 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/idx_db2.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/db2zos/idx_db2.migrations
@@ -1,7 +1,7 @@
--376187636, 1.0__initial.sql
-1615151513, 1.1.sql
--1093742153, 1.2__dropsFor_1.1.sql
-1569705465, 1.3.sql
-441227910, 1.4__dropsFor_1.3.sql
+-900865287, 1.0__initial.sql
+2094022383, 1.1.sql
+-812302674, 1.2__dropsFor_1.1.sql
+291385069, 1.3.sql
+-915919511, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.1.sql
index 5056799e7..b1b8e3eac 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.1.sql
@@ -1,4 +1,14 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest1;
+drop index if exists ix_migtest_e_basic_indextest5;
-- apply changes
create table migtest_e_user (
id integer auto_increment not null,
@@ -22,80 +32,66 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
-alter table migtest_e_basic alter column status2 varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 set null;
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
-alter table migtest_e_basic alter column user_id set null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field boolean default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-comment on column migtest_e_history.test_string is 'Column altered to long now';
-alter table migtest_e_history alter column test_string bigint;
-comment on table migtest_e_history is 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 varchar(127);
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 set null;
+alter table migtest_e_basic alter column user_id set null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field boolean default true not null;
+alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history alter column test_string bigint;
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
alter table migtest_e_history2 add column new_column varchar(20);
-
alter table migtest_e_history4 alter column test_number bigint;
alter table migtest_e_history5 add column test_boolean boolean default false not null;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 set null;
alter table migtest_e_softdelete add column deleted boolean default false not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+comment on column migtest_e_history.test_string is 'Column altered to long now';
+comment on table migtest_e_history is 'We have history now';
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index if exists ix_migtest_e_basic_indextest1;
-drop index if exists ix_migtest_e_basic_indextest5;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
@@ -111,8 +107,14 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.2__dropsFor_1.1.sql
index bf1e082c9..219f0c1c5 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.2__dropsFor_1.1.sql
@@ -1,15 +1,8 @@
-- Migrationscripts for ebean unittest
--- apply changes
alter table migtest_e_basic drop column description_file;
-
alter table migtest_e_basic drop column old_boolean;
-
alter table migtest_e_basic drop column old_boolean2;
-
alter table migtest_e_basic drop column eref_id;
-
alter table migtest_e_history2 drop column obsolete_string1;
-
alter table migtest_e_history2 drop column obsolete_string2;
-
drop table if exists migtest_e_ref;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.3.sql
index 583276331..a9ee65034 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.3.sql
@@ -1,4 +1,21 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
+alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
+alter table migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
+alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
+alter table migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest3;
+drop index if exists ix_migtest_e_basic_indextest6;
-- apply changes
create table migtest_e_ref (
id integer auto_increment not null,
@@ -7,62 +24,46 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
-alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-alter table migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
-alter table migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
-alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status set null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status set null;
alter table migtest_e_basic alter column status2 varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob;
alter table migtest_e_basic add column old_boolean boolean default false not null;
alter table migtest_e_basic add column old_boolean2 boolean;
alter table migtest_e_basic add column eref_id integer;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string set null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
-
alter table migtest_e_history4 alter column test_number integer;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 set null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index if exists ix_migtest_e_basic_indextest3;
-drop index if exists ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.4__dropsFor_1.3.sql
index f45a36211..033f0a5a2 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/1.4__dropsFor_1.3.sql
@@ -1,33 +1,18 @@
-- Migrationscripts for ebean unittest
--- apply changes
alter table migtest_ckey_detail drop column one_key;
-
alter table migtest_ckey_detail drop column two_key;
-
alter table migtest_ckey_parent drop column assoc_id;
-
alter table migtest_e_basic drop column new_string_field;
-
alter table migtest_e_basic drop column new_boolean_field;
-
alter table migtest_e_basic drop column new_boolean_field2;
-
alter table migtest_e_basic drop column progress;
-
alter table migtest_e_basic drop column new_integer;
-
alter table migtest_e_history2 drop column test_string2;
-
alter table migtest_e_history2 drop column test_string3;
-
alter table migtest_e_history2 drop column new_column;
-
alter table migtest_e_history5 drop column test_boolean;
-
alter table migtest_e_softdelete drop column deleted;
-
alter table migtest_oto_child drop column master_id;
-
drop table if exists migtest_e_user;
drop table if exists migtest_mtm_c_migtest_mtm_m;
drop table if exists migtest_mtm_m_migtest_mtm_c;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/idx_generic.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/idx_generic.migrations
index 1e82b78f3..bef530d63 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/generic/idx_generic.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/generic/idx_generic.migrations
@@ -1,6 +1,6 @@
-2041271676, 1.0__initial.sql
--1825206641, 1.1.sql
-628353409, 1.2__dropsFor_1.1.sql
--1404280556, 1.3.sql
--1045594368, 1.4__dropsFor_1.3.sql
+1297418193, 1.1.sql
+-155876508, 1.2__dropsFor_1.1.sql
+-228806652, 1.3.sql
+767202122, 1.4__dropsFor_1.3.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.0__initial.sql
index af98aa479..32827c7f1 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
@@ -99,24 +99,32 @@ create table migtest_e_history2 (
obsolete_string2 varchar(255),
constraint pk_migtest_e_history2 primary key (id)
);
+alter table migtest_e_history2 add column sys_period_start timestamp default now();
+alter table migtest_e_history2 add column sys_period_end timestamp;
create table migtest_e_history3 (
id integer generated by default as identity not null,
test_string varchar(255),
constraint pk_migtest_e_history3 primary key (id)
);
+alter table migtest_e_history3 add column sys_period_start timestamp default now();
+alter table migtest_e_history3 add column sys_period_end timestamp;
create table migtest_e_history4 (
id integer generated by default as identity not null,
test_number integer,
constraint pk_migtest_e_history4 primary key (id)
);
+alter table migtest_e_history4 add column sys_period_start timestamp default now();
+alter table migtest_e_history4 add column sys_period_end timestamp;
create table migtest_e_history5 (
id integer generated by default as identity not null,
test_number integer,
constraint pk_migtest_e_history5 primary key (id)
);
+alter table migtest_e_history5 add column sys_period_start timestamp default now();
+alter table migtest_e_history5 add column sys_period_end timestamp;
create table migtest_e_history6 (
id integer generated by default as identity not null,
@@ -124,6 +132,8 @@ create table migtest_e_history6 (
test_number2 integer not null,
constraint pk_migtest_e_history6 primary key (id)
);
+alter table migtest_e_history6 add column sys_period_start timestamp default now();
+alter table migtest_e_history6 add column sys_period_end timestamp;
create table migtest_e_ref (
id integer generated by default as identity not null,
@@ -162,6 +172,49 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
+create table migtest_e_history2_history(
+ id integer,
+ test_string varchar(255),
+ obsolete_string1 varchar(255),
+ obsolete_string2 varchar(255),
+ sys_period_start timestamp,
+ sys_period_end timestamp
+);
+create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
+
+create table migtest_e_history3_history(
+ id integer,
+ test_string varchar(255),
+ sys_period_start timestamp,
+ sys_period_end timestamp
+);
+create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
+
+create table migtest_e_history4_history(
+ id integer,
+ test_number integer,
+ sys_period_start timestamp,
+ sys_period_end timestamp
+);
+create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history;
+
+create table migtest_e_history5_history(
+ id integer,
+ test_number integer,
+ sys_period_start timestamp,
+ sys_period_end timestamp
+);
+create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
+
+create table migtest_e_history6_history(
+ id integer,
+ test_number1 integer,
+ test_number2 integer,
+ sys_period_start timestamp,
+ sys_period_end timestamp
+);
+create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history;
+
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
@@ -173,59 +226,6 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
-alter table migtest_e_history2 add column sys_period_start timestamp default now();
-alter table migtest_e_history2 add column sys_period_end timestamp;
-create table migtest_e_history2_history(
- id integer,
- test_string varchar(255),
- obsolete_string1 varchar(255),
- obsolete_string2 varchar(255),
- sys_period_start timestamp,
- sys_period_end timestamp
-);
-create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
-
-alter table migtest_e_history3 add column sys_period_start timestamp default now();
-alter table migtest_e_history3 add column sys_period_end timestamp;
-create table migtest_e_history3_history(
- id integer,
- test_string varchar(255),
- sys_period_start timestamp,
- sys_period_end timestamp
-);
-create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
-
-alter table migtest_e_history4 add column sys_period_start timestamp default now();
-alter table migtest_e_history4 add column sys_period_end timestamp;
-create table migtest_e_history4_history(
- id integer,
- test_number integer,
- sys_period_start timestamp,
- sys_period_end timestamp
-);
-create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history;
-
-alter table migtest_e_history5 add column sys_period_start timestamp default now();
-alter table migtest_e_history5 add column sys_period_end timestamp;
-create table migtest_e_history5_history(
- id integer,
- test_number integer,
- sys_period_start timestamp,
- sys_period_end timestamp
-);
-create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
-
-alter table migtest_e_history6 add column sys_period_start timestamp default now();
-alter table migtest_e_history6 add column sys_period_end timestamp;
-create table migtest_e_history6_history(
- id integer,
- test_number1 integer,
- test_number2 integer,
- sys_period_start timestamp,
- sys_period_end timestamp
-);
-create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history;
-
create trigger migtest_e_history2_history_upd before update,delete on migtest_e_history2 for each row call "io.ebean.config.dbplatform.h2.H2HistoryTrigger";
create trigger migtest_e_history3_history_upd before update,delete on migtest_e_history3 for each row call "io.ebean.config.dbplatform.h2.H2HistoryTrigger";
create trigger migtest_e_history4_history_upd before update,delete on migtest_e_history4 for each row call "io.ebean.config.dbplatform.h2.H2HistoryTrigger";
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.1.sql
index f639a2e9b..21a9484b5 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.1.sql
@@ -1,10 +1,18 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest1;
+drop index if exists ix_migtest_e_basic_indextest5;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
create table migtest_e_user (
id integer generated by default as identity not null,
@@ -28,57 +36,42 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
-alter table migtest_e_basic alter column status2 varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 set null;
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
-alter table migtest_e_basic alter column user_id set null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field boolean default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-comment on column migtest_e_history.test_string is 'Column altered to long now';
-alter table migtest_e_history alter column test_string bigint;
-comment on table migtest_e_history is 'We have history now';
+alter table migtest_e_history add column sys_period_start timestamp default now();
+alter table migtest_e_history add column sys_period_end timestamp;
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 varchar(127);
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 set null;
+alter table migtest_e_basic alter column user_id set null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field boolean default true not null;
+alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history alter column test_string bigint;
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
@@ -87,26 +80,37 @@ alter table migtest_e_history2 add column new_column varchar(20);
alter table migtest_e_history2_history add column test_string2 varchar(255);
alter table migtest_e_history2_history add column test_string3 varchar(255) default 'unknown';
alter table migtest_e_history2_history add column new_column varchar(20);
-
alter table migtest_e_history4 alter column test_number bigint;
alter table migtest_e_history4_history alter column test_number bigint;
alter table migtest_e_history5 add column test_boolean boolean default false not null;
alter table migtest_e_history5_history add column test_boolean boolean default false;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 set null;
alter table migtest_e_softdelete add column deleted boolean default false not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+create table migtest_e_history_history(
+ id integer,
+ test_string bigint,
+ sys_period_start timestamp,
+ sys_period_end timestamp
+);
+create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
+
+comment on column migtest_e_history.test_string is 'Column altered to long now';
+comment on table migtest_e_history is 'We have history now';
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index if exists ix_migtest_e_basic_indextest1;
-drop index if exists ix_migtest_e_basic_indextest5;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
@@ -122,21 +126,17 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
-alter table migtest_e_history add column sys_period_start timestamp default now();
-alter table migtest_e_history add column sys_period_end timestamp;
-create table migtest_e_history_history(
- id integer,
- test_string bigint,
- sys_period_start timestamp,
- sys_period_end timestamp
-);
-create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
-
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
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 d19ef84f0..689634515 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
@@ -1,24 +1,17 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
drop view if exists migtest_e_history2_with_history;
-
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-alter table migtest_e_history2_history drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-alter table migtest_e_history2_history drop column obsolete_string2;
-
-drop table if exists migtest_e_ref;
drop sequence if exists migtest_e_ref_seq;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+alter table migtest_e_history2_history drop column obsolete_string1;
+alter table migtest_e_history2_history drop column obsolete_string2;
+drop table if exists migtest_e_ref;
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
-- changes: [drop obsolete_string1, drop obsolete_string2]
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.3.sql
index b96413090..8a0e8c2b1 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.3.sql
@@ -1,9 +1,24 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
+alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
+alter table migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
+alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
+alter table migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest3;
+drop index if exists ix_migtest_e_basic_indextest6;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
-
-- apply changes
create table migtest_e_ref (
id integer generated by default as identity not null,
@@ -12,65 +27,49 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
-alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-alter table migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
-alter table migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
-alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status set null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status set null;
alter table migtest_e_basic alter column status2 varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob;
alter table migtest_e_basic add column old_boolean boolean default false not null;
alter table migtest_e_basic add column old_boolean2 boolean;
alter table migtest_e_basic add column eref_id integer;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string set null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
alter table migtest_e_history2_history add column obsolete_string1 varchar(255);
alter table migtest_e_history2_history add column obsolete_string2 varchar(255);
-
alter table migtest_e_history4 alter column test_number integer;
alter table migtest_e_history4_history alter column test_number integer;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 set null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index if exists ix_migtest_e_basic_indextest3;
-drop index if exists ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.4__dropsFor_1.3.sql
index 6574eb2db..87113bc71 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/h2/1.4__dropsFor_1.3.sql
@@ -2,48 +2,33 @@
-- drop dependencies
drop trigger migtest_e_history_history_upd;
drop view migtest_e_history_with_history;
-alter table migtest_e_history drop column sys_period_start;
-alter table migtest_e_history drop column sys_period_end;
drop table migtest_e_history_history;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
+drop sequence if exists migtest_e_user_seq;
alter table migtest_ckey_detail drop column one_key;
-
alter table migtest_ckey_detail drop column two_key;
-
alter table migtest_ckey_parent drop column assoc_id;
-
alter table migtest_e_basic drop column new_string_field;
-
alter table migtest_e_basic drop column new_boolean_field;
-
alter table migtest_e_basic drop column new_boolean_field2;
-
alter table migtest_e_basic drop column progress;
-
alter table migtest_e_basic drop column new_integer;
-
+alter table migtest_e_history drop column sys_period_start;
+alter table migtest_e_history drop column sys_period_end;
alter table migtest_e_history2 drop column test_string2;
-alter table migtest_e_history2_history drop column test_string2;
-
alter table migtest_e_history2 drop column test_string3;
-alter table migtest_e_history2_history drop column test_string3;
-
alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history2_history drop column test_string2;
+alter table migtest_e_history2_history drop column test_string3;
alter table migtest_e_history2_history drop column new_column;
-
alter table migtest_e_history5 drop column test_boolean;
alter table migtest_e_history5_history drop column test_boolean;
-
alter table migtest_e_softdelete drop column deleted;
-
alter table migtest_oto_child drop column master_id;
-
drop table if exists migtest_e_user;
-drop sequence if exists migtest_e_user_seq;
drop table if exists migtest_mtm_c_migtest_mtm_m;
drop table if exists migtest_mtm_m_migtest_mtm_c;
drop table if exists migtest_mtm_m_phone_numbers;
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 a91fe3b62..1470afa26 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,8 +1,8 @@
-817061778, 1.0__initial.sql
-1409369419, 1.1.sql
--1095443625, 1.2__dropsFor_1.1.sql
-62715852, 1.3.sql
-1549130952, 1.4__dropsFor_1.3.sql
+-108042782, 1.0__initial.sql
+1618208971, 1.1.sql
+-159071745, 1.2__dropsFor_1.1.sql
+1958704277, 1.3.sql
+1195655701, 1.4__dropsFor_1.3.sql
783227075, R__multi_comments.sql
561281075, R__order_views.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.1.sql
index 31569c927..10809373f 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.1.sql
@@ -1,4 +1,14 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest1;
+drop index if exists ix_migtest_e_basic_indextest5;
-- apply changes
create table migtest_e_user (
id integer generated by default as identity (start with 1) not null,
@@ -22,80 +32,66 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
-alter table migtest_e_basic alter column status2 varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 set null;
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
-alter table migtest_e_basic alter column user_id set null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field boolean default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-comment on column migtest_e_history.test_string is 'Column altered to long now';
-alter table migtest_e_history alter column test_string bigint;
-comment on table migtest_e_history is 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 varchar(127);
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 set null;
+alter table migtest_e_basic alter column user_id set null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field boolean default true not null;
+alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history alter column test_string bigint;
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
alter table migtest_e_history2 add column new_column varchar(20);
-
alter table migtest_e_history4 alter column test_number bigint;
alter table migtest_e_history5 add column test_boolean boolean default false not null;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 set null;
alter table migtest_e_softdelete add column deleted boolean default false not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+comment on column migtest_e_history.test_string is 'Column altered to long now';
+comment on table migtest_e_history is 'We have history now';
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index if exists ix_migtest_e_basic_indextest1;
-drop index if exists ix_migtest_e_basic_indextest5;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
@@ -111,8 +107,14 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
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 f38f547e1..a19014aa6 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,16 +1,10 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-
-drop table if exists migtest_e_ref;
drop sequence if exists migtest_e_ref_seq;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+drop table if exists migtest_e_ref;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.3.sql
index ebdeba1c0..55ced8bde 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.3.sql
@@ -1,4 +1,21 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
+alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
+alter table migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
+alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
+alter table migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest3;
+drop index if exists ix_migtest_e_basic_indextest6;
-- apply changes
create table migtest_e_ref (
id integer generated by default as identity (start with 1) not null,
@@ -7,62 +24,46 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
-alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-alter table migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
-alter table migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
-alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status set null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status set null;
alter table migtest_e_basic alter column status2 varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob;
alter table migtest_e_basic add column old_boolean boolean default false not null;
alter table migtest_e_basic add column old_boolean2 boolean;
alter table migtest_e_basic add column eref_id integer;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string set null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
-
alter table migtest_e_history4 alter column test_number integer;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 set null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index if exists ix_migtest_e_basic_indextest3;
-drop index if exists ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.4__dropsFor_1.3.sql
index 706cd2892..51c74520d 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/1.4__dropsFor_1.3.sql
@@ -1,35 +1,21 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_ckey_detail drop column one_key;
-
-alter table migtest_ckey_detail drop column two_key;
-
-alter table migtest_ckey_parent drop column assoc_id;
-
-alter table migtest_e_basic drop column new_string_field;
-
-alter table migtest_e_basic drop column new_boolean_field;
-
-alter table migtest_e_basic drop column new_boolean_field2;
-
-alter table migtest_e_basic drop column progress;
-
-alter table migtest_e_basic drop column new_integer;
-
-alter table migtest_e_history2 drop column test_string2;
-
-alter table migtest_e_history2 drop column test_string3;
-
-alter table migtest_e_history2 drop column new_column;
-
-alter table migtest_e_history5 drop column test_boolean;
-
-alter table migtest_e_softdelete drop column deleted;
-
-alter table migtest_oto_child drop column master_id;
-
-drop table if exists migtest_e_user;
drop sequence if exists migtest_e_user_seq;
+alter table migtest_ckey_detail drop column one_key;
+alter table migtest_ckey_detail drop column two_key;
+alter table migtest_ckey_parent drop column assoc_id;
+alter table migtest_e_basic drop column new_string_field;
+alter table migtest_e_basic drop column new_boolean_field;
+alter table migtest_e_basic drop column new_boolean_field2;
+alter table migtest_e_basic drop column progress;
+alter table migtest_e_basic drop column new_integer;
+alter table migtest_e_history2 drop column test_string2;
+alter table migtest_e_history2 drop column test_string3;
+alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history5 drop column test_boolean;
+alter table migtest_e_softdelete drop column deleted;
+alter table migtest_oto_child drop column master_id;
+drop table if exists migtest_e_user;
drop table if exists migtest_mtm_c_migtest_mtm_m;
drop table if exists migtest_mtm_m_migtest_mtm_c;
drop table if exists migtest_mtm_m_phone_numbers;
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 f9096bcde..b13abc604 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/idx_hsqldb.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hsqldb/idx_hsqldb.migrations
@@ -1,7 +1,7 @@
1469726733, 1.0__initial.sql
--865579750, 1.1.sql
--2077736415, 1.2__dropsFor_1.1.sql
--982162181, 1.3.sql
--1763496614, 1.4__dropsFor_1.3.sql
+-525203491, 1.1.sql
+-281614627, 1.2__dropsFor_1.1.sql
+-844698846, 1.3.sql
+1340995947, 1.4__dropsFor_1.3.sql
861001272, R__order_views_hsqldb.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.1.sql
index ec9514319..4e0c06213 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.1.sql
@@ -1,4 +1,11 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest6;
+drop index ix_migtest_e_basic_indextest1 on migtest_e_basic;
+drop index ix_migtest_e_basic_indextest5 on migtest_e_basic;
-- apply changes
create table migtest_e_user (
id integer auto_increment not null,
@@ -22,70 +29,59 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
alter table migtest_e_basic modify status varchar(1) not null default 'A';
alter table migtest_e_basic modify status2 varchar(127);
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_e_basic modify user_id integer;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field tinyint(1) default 1 not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 tinyint(1) default 1 not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
alter table migtest_e_history modify test_string bigint;
-alter table migtest_e_history comment = 'We have history now';
-- NOTE: table has @History - special migration may be necessary
SET @@system_versioning_alter_history = 1;
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
alter table migtest_e_history2 modify test_string varchar(255) not null default 'unknown';
-alter table migtest_e_history2 add column test_string2 varchar(255);
-alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
-alter table migtest_e_history2 add column new_column varchar(20);
alter table migtest_e_history4 modify test_number bigint;
-alter table migtest_e_history5 add column test_boolean tinyint(1) default 0 not null;
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 modify test_number1 integer not null default 42;
alter table migtest_e_history6 modify test_number2 integer;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field tinyint(1) default 1 not null;
+alter table migtest_e_basic add column new_boolean_field2 tinyint(1) default 1 not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history2 add column test_string2 varchar(255);
+alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
+alter table migtest_e_history2 add column new_column varchar(20);
+alter table migtest_e_history5 add column test_boolean tinyint(1) default 0 not null;
alter table migtest_e_softdelete add column deleted tinyint(1) default 0 not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+alter table migtest_e_history comment = 'We have history now';
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index ix_migtest_e_basic_indextest1 on migtest_e_basic;
-drop index ix_migtest_e_basic_indextest5 on migtest_e_basic;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
@@ -101,9 +97,15 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
alter table migtest_e_history add system versioning;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.2__dropsFor_1.1.sql
index f38f547e1..a19014aa6 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.2__dropsFor_1.1.sql
@@ -1,16 +1,10 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-
-drop table if exists migtest_e_ref;
drop sequence if exists migtest_e_ref_seq;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+drop table if exists migtest_e_ref;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.3.sql
index 0425230ac..3f9a60e36 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.3.sql
@@ -1,4 +1,18 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_ckey_detail drop foreign key fk_migtest_ckey_detail_parent;
+alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_none drop foreign key fk_migtest_fk_none_one_id;
+alter table migtest_fk_none_via_join drop foreign key fk_migtest_fk_none_via_join_one_id;
+alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop index uq_migtest_e_basic_description;
+alter table migtest_e_basic drop foreign key fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop index uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop index uq_migtest_e_basic_name;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest5;
+drop index ix_migtest_e_basic_indextest3 on migtest_e_basic;
+drop index ix_migtest_e_basic_indextest6 on migtest_e_basic;
-- apply changes
create table migtest_e_ref (
id integer auto_increment not null,
@@ -7,37 +21,15 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_ckey_detail drop foreign key fk_migtest_ckey_detail_parent;
-alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-alter table migtest_fk_none drop foreign key fk_migtest_fk_none_one_id;
-alter table migtest_fk_none_via_join drop foreign key fk_migtest_fk_none_via_join_one_id;
-alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
alter table migtest_e_basic modify status varchar(1);
update migtest_e_basic set status2 = 'N' where status2 is null;
alter table migtest_e_basic modify status2 varchar(1) not null default 'N';
-alter table migtest_e_basic drop index uq_migtest_e_basic_description;
update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop foreign key fk_migtest_e_basic_user_id;
alter table migtest_e_basic modify user_id integer not null default 23;
-alter table migtest_e_basic add column description_file longblob;
-alter table migtest_e_basic add column old_boolean tinyint(1) default 0 not null;
-alter table migtest_e_basic add column old_boolean2 tinyint(1);
-alter table migtest_e_basic add column eref_id integer;
-alter table migtest_e_basic drop index uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop index uq_migtest_e_basic_name;
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_history comment = '';
alter table migtest_e_history2 modify test_string varchar(255);
-alter table migtest_e_history2 add column obsolete_string1 varchar(255);
-alter table migtest_e_history2 add column obsolete_string2 varchar(255);
alter table migtest_e_history4 modify test_number integer;
alter table migtest_e_history6 modify test_number1 integer;
@@ -45,10 +37,19 @@ alter table migtest_e_history6 modify test_number1 integer;
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 modify test_number2 integer not null default 7;
+alter table migtest_e_basic add column description_file longblob;
+alter table migtest_e_basic add column old_boolean tinyint(1) default 0 not null;
+alter table migtest_e_basic add column old_boolean2 tinyint(1);
+alter table migtest_e_basic add column eref_id integer;
+alter table migtest_e_history2 add column obsolete_string1 varchar(255);
+alter table migtest_e_history2 add column obsolete_string2 varchar(255);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_history comment = '';
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index ix_migtest_e_basic_indextest3 on migtest_e_basic;
-drop index ix_migtest_e_basic_indextest6 on migtest_e_basic;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.4__dropsFor_1.3.sql
index 1e2df9b4e..74fd7d558 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/1.4__dropsFor_1.3.sql
@@ -1,35 +1,21 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_ckey_detail drop column one_key;
-
-alter table migtest_ckey_detail drop column two_key;
-
-alter table migtest_ckey_parent drop column assoc_id;
-
-alter table migtest_e_basic drop column new_string_field;
-
-alter table migtest_e_basic drop column new_boolean_field;
-
-alter table migtest_e_basic drop column new_boolean_field2;
-
-alter table migtest_e_basic drop column progress;
-
-alter table migtest_e_basic drop column new_integer;
-
-alter table migtest_e_history2 drop column test_string2;
-
-alter table migtest_e_history2 drop column test_string3;
-
-alter table migtest_e_history2 drop column new_column;
-
-alter table migtest_e_history5 drop column test_boolean;
-
-alter table migtest_e_softdelete drop column deleted;
-
-alter table migtest_oto_child drop column master_id;
-
-drop table if exists migtest_e_user;
drop sequence if exists migtest_e_user_seq;
+alter table migtest_ckey_detail drop column one_key;
+alter table migtest_ckey_detail drop column two_key;
+alter table migtest_ckey_parent drop column assoc_id;
+alter table migtest_e_basic drop column new_string_field;
+alter table migtest_e_basic drop column new_boolean_field;
+alter table migtest_e_basic drop column new_boolean_field2;
+alter table migtest_e_basic drop column progress;
+alter table migtest_e_basic drop column new_integer;
+alter table migtest_e_history2 drop column test_string2;
+alter table migtest_e_history2 drop column test_string3;
+alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history5 drop column test_boolean;
+alter table migtest_e_softdelete drop column deleted;
+alter table migtest_oto_child drop column master_id;
+drop table if exists migtest_e_user;
drop table if exists migtest_mtm_c_migtest_mtm_m;
drop table if exists migtest_mtm_m_migtest_mtm_c;
drop table if exists migtest_mtm_m_phone_numbers;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/idx_mariadb.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/idx_mariadb.migrations
index d1d18beb6..b79a76906 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/idx_mariadb.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb-noprocs/idx_mariadb.migrations
@@ -1,7 +1,7 @@
-616900688, 1.0__initial.sql
--786596816, 1.1.sql
--2077736415, 1.2__dropsFor_1.1.sql
-1262945599, 1.3.sql
-89701608, 1.4__dropsFor_1.3.sql
+719322817, 1.1.sql
+-281614627, 1.2__dropsFor_1.1.sql
+-846393359, 1.3.sql
+588647554, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.1.sql
index ec9514319..4e0c06213 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.1.sql
@@ -1,4 +1,11 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest6;
+drop index ix_migtest_e_basic_indextest1 on migtest_e_basic;
+drop index ix_migtest_e_basic_indextest5 on migtest_e_basic;
-- apply changes
create table migtest_e_user (
id integer auto_increment not null,
@@ -22,70 +29,59 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
alter table migtest_e_basic modify status varchar(1) not null default 'A';
alter table migtest_e_basic modify status2 varchar(127);
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_e_basic modify user_id integer;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field tinyint(1) default 1 not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 tinyint(1) default 1 not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
alter table migtest_e_history modify test_string bigint;
-alter table migtest_e_history comment = 'We have history now';
-- NOTE: table has @History - special migration may be necessary
SET @@system_versioning_alter_history = 1;
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
alter table migtest_e_history2 modify test_string varchar(255) not null default 'unknown';
-alter table migtest_e_history2 add column test_string2 varchar(255);
-alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
-alter table migtest_e_history2 add column new_column varchar(20);
alter table migtest_e_history4 modify test_number bigint;
-alter table migtest_e_history5 add column test_boolean tinyint(1) default 0 not null;
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 modify test_number1 integer not null default 42;
alter table migtest_e_history6 modify test_number2 integer;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field tinyint(1) default 1 not null;
+alter table migtest_e_basic add column new_boolean_field2 tinyint(1) default 1 not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history2 add column test_string2 varchar(255);
+alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
+alter table migtest_e_history2 add column new_column varchar(20);
+alter table migtest_e_history5 add column test_boolean tinyint(1) default 0 not null;
alter table migtest_e_softdelete add column deleted tinyint(1) default 0 not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+alter table migtest_e_history comment = 'We have history now';
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index ix_migtest_e_basic_indextest1 on migtest_e_basic;
-drop index ix_migtest_e_basic_indextest5 on migtest_e_basic;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
@@ -101,9 +97,15 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
alter table migtest_e_history add system versioning;
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 70da35eb5..d60ca81e6 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
@@ -12,5 +12,5 @@ CALL usp_ebean_drop_column('migtest_e_history2', 'obsolete_string1');
CALL usp_ebean_drop_column('migtest_e_history2', 'obsolete_string2');
-drop table if exists migtest_e_ref;
drop sequence if exists migtest_e_ref_seq;
+drop table if exists migtest_e_ref;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.3.sql
index 0425230ac..3f9a60e36 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.3.sql
@@ -1,4 +1,18 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_ckey_detail drop foreign key fk_migtest_ckey_detail_parent;
+alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_none drop foreign key fk_migtest_fk_none_one_id;
+alter table migtest_fk_none_via_join drop foreign key fk_migtest_fk_none_via_join_one_id;
+alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop index uq_migtest_e_basic_description;
+alter table migtest_e_basic drop foreign key fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop index uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop index uq_migtest_e_basic_name;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest5;
+drop index ix_migtest_e_basic_indextest3 on migtest_e_basic;
+drop index ix_migtest_e_basic_indextest6 on migtest_e_basic;
-- apply changes
create table migtest_e_ref (
id integer auto_increment not null,
@@ -7,37 +21,15 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_ckey_detail drop foreign key fk_migtest_ckey_detail_parent;
-alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-alter table migtest_fk_none drop foreign key fk_migtest_fk_none_one_id;
-alter table migtest_fk_none_via_join drop foreign key fk_migtest_fk_none_via_join_one_id;
-alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
alter table migtest_e_basic modify status varchar(1);
update migtest_e_basic set status2 = 'N' where status2 is null;
alter table migtest_e_basic modify status2 varchar(1) not null default 'N';
-alter table migtest_e_basic drop index uq_migtest_e_basic_description;
update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop foreign key fk_migtest_e_basic_user_id;
alter table migtest_e_basic modify user_id integer not null default 23;
-alter table migtest_e_basic add column description_file longblob;
-alter table migtest_e_basic add column old_boolean tinyint(1) default 0 not null;
-alter table migtest_e_basic add column old_boolean2 tinyint(1);
-alter table migtest_e_basic add column eref_id integer;
-alter table migtest_e_basic drop index uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop index uq_migtest_e_basic_name;
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_history comment = '';
alter table migtest_e_history2 modify test_string varchar(255);
-alter table migtest_e_history2 add column obsolete_string1 varchar(255);
-alter table migtest_e_history2 add column obsolete_string2 varchar(255);
alter table migtest_e_history4 modify test_number integer;
alter table migtest_e_history6 modify test_number1 integer;
@@ -45,10 +37,19 @@ alter table migtest_e_history6 modify test_number1 integer;
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 modify test_number2 integer not null default 7;
+alter table migtest_e_basic add column description_file longblob;
+alter table migtest_e_basic add column old_boolean tinyint(1) default 0 not null;
+alter table migtest_e_basic add column old_boolean2 tinyint(1);
+alter table migtest_e_basic add column eref_id integer;
+alter table migtest_e_history2 add column obsolete_string1 varchar(255);
+alter table migtest_e_history2 add column obsolete_string2 varchar(255);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_history comment = '';
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index ix_migtest_e_basic_indextest3 on migtest_e_basic;
-drop index ix_migtest_e_basic_indextest6 on migtest_e_basic;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.4__dropsFor_1.3.sql
index 60767659b..897bb242c 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/1.4__dropsFor_1.3.sql
@@ -28,8 +28,8 @@ CALL usp_ebean_drop_column('migtest_e_softdelete', 'deleted');
CALL usp_ebean_drop_column('migtest_oto_child', 'master_id');
-drop table if exists migtest_e_user;
drop sequence if exists migtest_e_user_seq;
+drop table if exists migtest_e_user;
drop table if exists migtest_mtm_c_migtest_mtm_m;
drop table if exists migtest_mtm_m_migtest_mtm_c;
drop table if exists migtest_mtm_m_phone_numbers;
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 00322e59e..fa767ed30 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/idx_mariadb.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mariadb/idx_mariadb.migrations
@@ -1,8 +1,8 @@
1835064798, I__create_procs.sql
-616900688, 1.0__initial.sql
--786596816, 1.1.sql
--2098746494, 1.2__dropsFor_1.1.sql
-1262945599, 1.3.sql
-930722740, 1.4__dropsFor_1.3.sql
+719322817, 1.1.sql
+1660090057, 1.2__dropsFor_1.1.sql
+-846393359, 1.3.sql
+2011305151, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
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 92ceaaf21..fc5f6562a 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
@@ -96,24 +96,32 @@ create table migtest_e_history2 (
obsolete_string2 varchar(255),
constraint pk_migtest_e_history2 primary key (id)
);
+alter table migtest_e_history2 add column sys_period_start datetime(6) default now(6);
+alter table migtest_e_history2 add column sys_period_end datetime(6);
create table migtest_e_history3 (
id integer auto_increment not null,
test_string varchar(255),
constraint pk_migtest_e_history3 primary key (id)
);
+alter table migtest_e_history3 add column sys_period_start datetime(6) default now(6);
+alter table migtest_e_history3 add column sys_period_end datetime(6);
create table migtest_e_history4 (
id integer auto_increment not null,
test_number integer,
constraint pk_migtest_e_history4 primary key (id)
);
+alter table migtest_e_history4 add column sys_period_start datetime(6) default now(6);
+alter table migtest_e_history4 add column sys_period_end datetime(6);
create table migtest_e_history5 (
id integer auto_increment not null,
test_number integer,
constraint pk_migtest_e_history5 primary key (id)
);
+alter table migtest_e_history5 add column sys_period_start datetime(6) default now(6);
+alter table migtest_e_history5 add column sys_period_end datetime(6);
create table migtest_e_history6 (
id integer auto_increment not null,
@@ -121,6 +129,8 @@ create table migtest_e_history6 (
test_number2 integer not null,
constraint pk_migtest_e_history6 primary key (id)
);
+alter table migtest_e_history6 add column sys_period_start datetime(6) default now(6);
+alter table migtest_e_history6 add column sys_period_end datetime(6);
create table migtest_e_ref (
id integer auto_increment not null,
@@ -159,19 +169,6 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
-create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
-create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-
-create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id);
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
-
-create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
-alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
-
-alter table migtest_e_history2 add column sys_period_start datetime(6) default now(6);
-alter table migtest_e_history2 add column sys_period_end datetime(6);
create table migtest_e_history2_history(
id integer,
test_string varchar(255),
@@ -182,8 +179,6 @@ create table migtest_e_history2_history(
);
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
-alter table migtest_e_history3 add column sys_period_start datetime(6) default now(6);
-alter table migtest_e_history3 add column sys_period_end datetime(6);
create table migtest_e_history3_history(
id integer,
test_string varchar(255),
@@ -192,8 +187,6 @@ create table migtest_e_history3_history(
);
create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
-alter table migtest_e_history4 add column sys_period_start datetime(6) default now(6);
-alter table migtest_e_history4 add column sys_period_end datetime(6);
create table migtest_e_history4_history(
id integer,
test_number integer,
@@ -202,8 +195,6 @@ create table migtest_e_history4_history(
);
create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history;
-alter table migtest_e_history5 add column sys_period_start datetime(6) default now(6);
-alter table migtest_e_history5 add column sys_period_end datetime(6);
create table migtest_e_history5_history(
id integer,
test_number integer,
@@ -212,8 +203,6 @@ create table migtest_e_history5_history(
);
create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
-alter table migtest_e_history6 add column sys_period_start datetime(6) default now(6);
-alter table migtest_e_history6 add column sys_period_end datetime(6);
create table migtest_e_history6_history(
id integer,
test_number1 integer,
@@ -223,6 +212,17 @@ create table migtest_e_history6_history(
);
create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history;
+create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
+create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
+create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+
+create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id);
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
+
+create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
+alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
+
delimiter $$
create trigger migtest_e_history2_history_upd before update on migtest_e_history2 for each row begin
insert into migtest_e_history2_history (sys_period_start,sys_period_end,id, test_string, obsolete_string2) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_string, OLD.obsolete_string2);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.1.sql
index 020fbaa27..bde19e551 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.1.sql
@@ -1,10 +1,15 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest6;
+drop index ix_migtest_e_basic_indextest1 on migtest_e_basic;
+drop index ix_migtest_e_basic_indextest5 on migtest_e_basic;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
create table migtest_e_user (
id integer auto_increment not null,
@@ -28,74 +33,73 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
alter table migtest_e_basic modify status varchar(1) not null default 'A';
alter table migtest_e_basic modify status2 varchar(127);
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_e_basic modify user_id integer;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field tinyint(1) default 1 not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 tinyint(1) default 1 not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+alter table migtest_e_history add column sys_period_start datetime(6) default now(6);
+alter table migtest_e_history add column sys_period_end datetime(6);
alter table migtest_e_history modify test_string bigint;
-alter table migtest_e_history comment = 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
alter table migtest_e_history2 modify test_string varchar(255) not null default 'unknown';
-alter table migtest_e_history2 add column test_string2 varchar(255);
-alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
-alter table migtest_e_history2 add column new_column varchar(20);
-alter table migtest_e_history2_history add column test_string2 varchar(255);
-alter table migtest_e_history2_history add column test_string3 varchar(255) default 'unknown';
-alter table migtest_e_history2_history add column new_column varchar(20);
alter table migtest_e_history4 modify test_number bigint;
alter table migtest_e_history4_history modify test_number bigint;
-alter table migtest_e_history5 add column test_boolean tinyint(1) default 0 not null;
-alter table migtest_e_history5_history add column test_boolean tinyint(1) default 0;
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 modify test_number1 integer not null default 42;
alter table migtest_e_history6 modify test_number2 integer;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field tinyint(1) default 1 not null;
+alter table migtest_e_basic add column new_boolean_field2 tinyint(1) default 1 not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history2 add column test_string2 varchar(255);
+alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
+alter table migtest_e_history2 add column new_column varchar(20);
+alter table migtest_e_history2_history add column test_string2 varchar(255);
+alter table migtest_e_history2_history add column test_string3 varchar(255) default 'unknown';
+alter table migtest_e_history2_history add column new_column varchar(20);
+alter table migtest_e_history5 add column test_boolean tinyint(1) default 0 not null;
+alter table migtest_e_history5_history add column test_boolean tinyint(1) default 0;
alter table migtest_e_softdelete add column deleted tinyint(1) default 0 not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+create table migtest_e_history_history(
+ id integer,
+ test_string bigint,
+ sys_period_start datetime(6),
+ sys_period_end datetime(6)
+);
+create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
+
+alter table migtest_e_history comment = 'We have history now';
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index ix_migtest_e_basic_indextest1 on migtest_e_basic;
-drop index ix_migtest_e_basic_indextest5 on migtest_e_basic;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
@@ -111,21 +115,17 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
-alter table migtest_e_history add column sys_period_start datetime(6) default now(6);
-alter table migtest_e_history add column sys_period_end datetime(6);
-create table migtest_e_history_history(
- id integer,
- test_string bigint,
- sys_period_start datetime(6),
- sys_period_end datetime(6)
-);
-create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
-
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
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 68f5324da..35e6c12a9 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
@@ -1,7 +1,6 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
drop view if exists migtest_e_history2_with_history;
-
-- apply changes
CALL usp_ebean_drop_column('migtest_e_basic', 'description_file');
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.3.sql
index 2eb7ccc79..1a396ceea 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.3.sql
@@ -1,9 +1,21 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table migtest_ckey_detail drop foreign key fk_migtest_ckey_detail_parent;
+alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_none drop foreign key fk_migtest_fk_none_one_id;
+alter table migtest_fk_none_via_join drop foreign key fk_migtest_fk_none_via_join_one_id;
+alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop index uq_migtest_e_basic_description;
+alter table migtest_e_basic drop foreign key fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop index uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop index uq_migtest_e_basic_name;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest5;
+drop index ix_migtest_e_basic_indextest3 on migtest_e_basic;
+drop index ix_migtest_e_basic_indextest6 on migtest_e_basic;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
-
-- apply changes
create table migtest_e_ref (
id integer auto_increment not null,
@@ -12,39 +24,15 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_ckey_detail drop foreign key fk_migtest_ckey_detail_parent;
-alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-alter table migtest_fk_none drop foreign key fk_migtest_fk_none_one_id;
-alter table migtest_fk_none_via_join drop foreign key fk_migtest_fk_none_via_join_one_id;
-alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
alter table migtest_e_basic modify status varchar(1);
update migtest_e_basic set status2 = 'N' where status2 is null;
alter table migtest_e_basic modify status2 varchar(1) not null default 'N';
-alter table migtest_e_basic drop index uq_migtest_e_basic_description;
update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop foreign key fk_migtest_e_basic_user_id;
alter table migtest_e_basic modify user_id integer not null default 23;
-alter table migtest_e_basic add column description_file longblob;
-alter table migtest_e_basic add column old_boolean tinyint(1) default 0 not null;
-alter table migtest_e_basic add column old_boolean2 tinyint(1);
-alter table migtest_e_basic add column eref_id integer;
-alter table migtest_e_basic drop index uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop index uq_migtest_e_basic_name;
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_history comment = '';
alter table migtest_e_history2 modify test_string varchar(255);
-alter table migtest_e_history2 add column obsolete_string1 varchar(255);
-alter table migtest_e_history2 add column obsolete_string2 varchar(255);
-alter table migtest_e_history2_history add column obsolete_string1 varchar(255);
-alter table migtest_e_history2_history add column obsolete_string2 varchar(255);
alter table migtest_e_history4 modify test_number integer;
alter table migtest_e_history4_history modify test_number integer;
@@ -53,14 +41,25 @@ alter table migtest_e_history6 modify test_number1 integer;
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 modify test_number2 integer not null default 7;
+alter table migtest_e_basic add column description_file longblob;
+alter table migtest_e_basic add column old_boolean tinyint(1) default 0 not null;
+alter table migtest_e_basic add column old_boolean2 tinyint(1);
+alter table migtest_e_basic add column eref_id integer;
+alter table migtest_e_history2 add column obsolete_string1 varchar(255);
+alter table migtest_e_history2 add column obsolete_string2 varchar(255);
+alter table migtest_e_history2_history add column obsolete_string1 varchar(255);
+alter table migtest_e_history2_history add column obsolete_string2 varchar(255);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_history comment = '';
alter table migtest_oto_child add constraint uq_m12_otoc72 unique (name);
alter table migtest_oto_master add constraint uq_migtest_oto_master_name unique (name);
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
create index ix_m12_otoc72 on migtest_oto_child (name);
create index ix_migtest_oto_master_name on migtest_oto_master (name);
-drop index ix_migtest_e_basic_indextest3 on migtest_e_basic;
-drop index ix_migtest_e_basic_indextest6 on migtest_e_basic;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.4__dropsFor_1.3.sql
index ff2e34d44..35308200b 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/1.4__dropsFor_1.3.sql
@@ -3,13 +3,10 @@
drop trigger migtest_e_history_history_upd;
drop trigger migtest_e_history_history_del;
drop view migtest_e_history_with_history;
-CALL usp_ebean_drop_column('migtest_e_history', 'sys_period_start');
-CALL usp_ebean_drop_column('migtest_e_history', 'sys_period_end');
drop table migtest_e_history_history;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
CALL usp_ebean_drop_column('migtest_ckey_detail', 'one_key');
@@ -27,6 +24,8 @@ CALL usp_ebean_drop_column('migtest_e_basic', 'progress');
CALL usp_ebean_drop_column('migtest_e_basic', 'new_integer');
+CALL usp_ebean_drop_column('migtest_e_history', 'sys_period_start');
+CALL usp_ebean_drop_column('migtest_e_history', 'sys_period_end');
CALL usp_ebean_drop_column('migtest_e_history2', 'test_string2');
CALL usp_ebean_drop_column('migtest_e_history2_history', 'test_string2');
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 2ff170b68..c80baaa9e 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/idx_mysql.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql/idx_mysql.migrations
@@ -1,8 +1,8 @@
1835064798, I__create_procs.sql
-890673066, 1.0__initial.sql
-67386209, 1.1.sql
+-677139473, 1.0__initial.sql
+-980860692, 1.1.sql
1986189381, 1.2__dropsFor_1.1.sql
-2054074037, 1.3.sql
--1373040825, 1.4__dropsFor_1.3.sql
+-297983164, 1.3.sql
+950278009, 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 a0d087761..573bd7f17 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
@@ -96,24 +96,32 @@ create table migtest_e_history2 (
obsolete_string2 varchar(255),
constraint pk_migtest_e_history2 primary key (id)
);
+alter table migtest_e_history2 add column sys_period_start datetime(6) default now(6);
+alter table migtest_e_history2 add column sys_period_end datetime(6);
create table migtest_e_history3 (
id integer auto_increment not null,
test_string varchar(255),
constraint pk_migtest_e_history3 primary key (id)
);
+alter table migtest_e_history3 add column sys_period_start datetime(6) default now(6);
+alter table migtest_e_history3 add column sys_period_end datetime(6);
create table migtest_e_history4 (
id integer auto_increment not null,
test_number integer,
constraint pk_migtest_e_history4 primary key (id)
);
+alter table migtest_e_history4 add column sys_period_start datetime(6) default now(6);
+alter table migtest_e_history4 add column sys_period_end datetime(6);
create table migtest_e_history5 (
id integer auto_increment not null,
test_number integer,
constraint pk_migtest_e_history5 primary key (id)
);
+alter table migtest_e_history5 add column sys_period_start datetime(6) default now(6);
+alter table migtest_e_history5 add column sys_period_end datetime(6);
create table migtest_e_history6 (
id integer auto_increment not null,
@@ -121,6 +129,8 @@ create table migtest_e_history6 (
test_number2 integer not null,
constraint pk_migtest_e_history6 primary key (id)
);
+alter table migtest_e_history6 add column sys_period_start datetime(6) default now(6);
+alter table migtest_e_history6 add column sys_period_end datetime(6);
create table migtest_e_ref (
id integer auto_increment not null,
@@ -159,19 +169,6 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
-create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
-create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-
-create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id);
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
-
-create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
-alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
-
-alter table migtest_e_history2 add column sys_period_start datetime(6) default now(6);
-alter table migtest_e_history2 add column sys_period_end datetime(6);
create table migtest_e_history2_history(
id integer,
test_string varchar(255),
@@ -182,8 +179,6 @@ create table migtest_e_history2_history(
);
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
-alter table migtest_e_history3 add column sys_period_start datetime(6) default now(6);
-alter table migtest_e_history3 add column sys_period_end datetime(6);
create table migtest_e_history3_history(
id integer,
test_string varchar(255),
@@ -192,8 +187,6 @@ create table migtest_e_history3_history(
);
create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
-alter table migtest_e_history4 add column sys_period_start datetime(6) default now(6);
-alter table migtest_e_history4 add column sys_period_end datetime(6);
create table migtest_e_history4_history(
id integer,
test_number integer,
@@ -202,8 +195,6 @@ create table migtest_e_history4_history(
);
create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history;
-alter table migtest_e_history5 add column sys_period_start datetime(6) default now(6);
-alter table migtest_e_history5 add column sys_period_end datetime(6);
create table migtest_e_history5_history(
id integer,
test_number integer,
@@ -212,8 +203,6 @@ create table migtest_e_history5_history(
);
create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
-alter table migtest_e_history6 add column sys_period_start datetime(6) default now(6);
-alter table migtest_e_history6 add column sys_period_end datetime(6);
create table migtest_e_history6_history(
id integer,
test_number1 integer,
@@ -223,6 +212,17 @@ create table migtest_e_history6_history(
);
create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history;
+create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
+create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
+create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+
+create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id);
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
+
+create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
+alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
+
delimiter $$
create trigger migtest_e_history2_history_upd before update on migtest_e_history2 for each row begin
insert into migtest_e_history2_history (sys_period_start,sys_period_end,id, test_string, obsolete_string2) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_string, OLD.obsolete_string2);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.1.sql
index 020fbaa27..bde19e551 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.1.sql
@@ -1,10 +1,15 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest6;
+drop index ix_migtest_e_basic_indextest1 on migtest_e_basic;
+drop index ix_migtest_e_basic_indextest5 on migtest_e_basic;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
create table migtest_e_user (
id integer auto_increment not null,
@@ -28,74 +33,73 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
alter table migtest_e_basic modify status varchar(1) not null default 'A';
alter table migtest_e_basic modify status2 varchar(127);
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_e_basic modify user_id integer;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field tinyint(1) default 1 not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 tinyint(1) default 1 not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+alter table migtest_e_history add column sys_period_start datetime(6) default now(6);
+alter table migtest_e_history add column sys_period_end datetime(6);
alter table migtest_e_history modify test_string bigint;
-alter table migtest_e_history comment = 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
alter table migtest_e_history2 modify test_string varchar(255) not null default 'unknown';
-alter table migtest_e_history2 add column test_string2 varchar(255);
-alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
-alter table migtest_e_history2 add column new_column varchar(20);
-alter table migtest_e_history2_history add column test_string2 varchar(255);
-alter table migtest_e_history2_history add column test_string3 varchar(255) default 'unknown';
-alter table migtest_e_history2_history add column new_column varchar(20);
alter table migtest_e_history4 modify test_number bigint;
alter table migtest_e_history4_history modify test_number bigint;
-alter table migtest_e_history5 add column test_boolean tinyint(1) default 0 not null;
-alter table migtest_e_history5_history add column test_boolean tinyint(1) default 0;
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 modify test_number1 integer not null default 42;
alter table migtest_e_history6 modify test_number2 integer;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field tinyint(1) default 1 not null;
+alter table migtest_e_basic add column new_boolean_field2 tinyint(1) default 1 not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history2 add column test_string2 varchar(255);
+alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
+alter table migtest_e_history2 add column new_column varchar(20);
+alter table migtest_e_history2_history add column test_string2 varchar(255);
+alter table migtest_e_history2_history add column test_string3 varchar(255) default 'unknown';
+alter table migtest_e_history2_history add column new_column varchar(20);
+alter table migtest_e_history5 add column test_boolean tinyint(1) default 0 not null;
+alter table migtest_e_history5_history add column test_boolean tinyint(1) default 0;
alter table migtest_e_softdelete add column deleted tinyint(1) default 0 not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+create table migtest_e_history_history(
+ id integer,
+ test_string bigint,
+ sys_period_start datetime(6),
+ sys_period_end datetime(6)
+);
+create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
+
+alter table migtest_e_history comment = 'We have history now';
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index ix_migtest_e_basic_indextest1 on migtest_e_basic;
-drop index ix_migtest_e_basic_indextest5 on migtest_e_basic;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
@@ -111,21 +115,17 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
-alter table migtest_e_history add column sys_period_start datetime(6) default now(6);
-alter table migtest_e_history add column sys_period_end datetime(6);
-create table migtest_e_history_history(
- id integer,
- test_string bigint,
- sys_period_start datetime(6),
- sys_period_end datetime(6)
-);
-create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
-
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
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 68f5324da..35e6c12a9 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
@@ -1,7 +1,6 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
drop view if exists migtest_e_history2_with_history;
-
-- apply changes
CALL usp_ebean_drop_column('migtest_e_basic', 'description_file');
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.3.sql
index 2eb7ccc79..1a396ceea 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.3.sql
@@ -1,9 +1,21 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table migtest_ckey_detail drop foreign key fk_migtest_ckey_detail_parent;
+alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_none drop foreign key fk_migtest_fk_none_one_id;
+alter table migtest_fk_none_via_join drop foreign key fk_migtest_fk_none_via_join_one_id;
+alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop index uq_migtest_e_basic_description;
+alter table migtest_e_basic drop foreign key fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop index uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop index uq_migtest_e_basic_name;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop index uq_migtest_e_basic_indextest5;
+drop index ix_migtest_e_basic_indextest3 on migtest_e_basic;
+drop index ix_migtest_e_basic_indextest6 on migtest_e_basic;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
-
-- apply changes
create table migtest_e_ref (
id integer auto_increment not null,
@@ -12,39 +24,15 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_ckey_detail drop foreign key fk_migtest_ckey_detail_parent;
-alter table migtest_fk_cascade drop foreign key fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-alter table migtest_fk_none drop foreign key fk_migtest_fk_none_one_id;
-alter table migtest_fk_none_via_join drop foreign key fk_migtest_fk_none_via_join_one_id;
-alter table migtest_fk_set_null drop foreign key fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
alter table migtest_e_basic modify status varchar(1);
update migtest_e_basic set status2 = 'N' where status2 is null;
alter table migtest_e_basic modify status2 varchar(1) not null default 'N';
-alter table migtest_e_basic drop index uq_migtest_e_basic_description;
update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop foreign key fk_migtest_e_basic_user_id;
alter table migtest_e_basic modify user_id integer not null default 23;
-alter table migtest_e_basic add column description_file longblob;
-alter table migtest_e_basic add column old_boolean tinyint(1) default 0 not null;
-alter table migtest_e_basic add column old_boolean2 tinyint(1);
-alter table migtest_e_basic add column eref_id integer;
-alter table migtest_e_basic drop index uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop index uq_migtest_e_basic_name;
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop index uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_history comment = '';
alter table migtest_e_history2 modify test_string varchar(255);
-alter table migtest_e_history2 add column obsolete_string1 varchar(255);
-alter table migtest_e_history2 add column obsolete_string2 varchar(255);
-alter table migtest_e_history2_history add column obsolete_string1 varchar(255);
-alter table migtest_e_history2_history add column obsolete_string2 varchar(255);
alter table migtest_e_history4 modify test_number integer;
alter table migtest_e_history4_history modify test_number integer;
@@ -53,14 +41,25 @@ alter table migtest_e_history6 modify test_number1 integer;
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 modify test_number2 integer not null default 7;
+alter table migtest_e_basic add column description_file longblob;
+alter table migtest_e_basic add column old_boolean tinyint(1) default 0 not null;
+alter table migtest_e_basic add column old_boolean2 tinyint(1);
+alter table migtest_e_basic add column eref_id integer;
+alter table migtest_e_history2 add column obsolete_string1 varchar(255);
+alter table migtest_e_history2 add column obsolete_string2 varchar(255);
+alter table migtest_e_history2_history add column obsolete_string1 varchar(255);
+alter table migtest_e_history2_history add column obsolete_string2 varchar(255);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_history comment = '';
alter table migtest_oto_child add constraint uq_m12_otoc72 unique (name);
alter table migtest_oto_master add constraint uq_migtest_oto_master_name unique (name);
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
create index ix_m12_otoc72 on migtest_oto_child (name);
create index ix_migtest_oto_master_name on migtest_oto_master (name);
-drop index ix_migtest_e_basic_indextest3 on migtest_e_basic;
-drop index ix_migtest_e_basic_indextest6 on migtest_e_basic;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.4__dropsFor_1.3.sql
index ff2e34d44..35308200b 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/1.4__dropsFor_1.3.sql
@@ -3,13 +3,10 @@
drop trigger migtest_e_history_history_upd;
drop trigger migtest_e_history_history_del;
drop view migtest_e_history_with_history;
-CALL usp_ebean_drop_column('migtest_e_history', 'sys_period_start');
-CALL usp_ebean_drop_column('migtest_e_history', 'sys_period_end');
drop table migtest_e_history_history;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
CALL usp_ebean_drop_column('migtest_ckey_detail', 'one_key');
@@ -27,6 +24,8 @@ CALL usp_ebean_drop_column('migtest_e_basic', 'progress');
CALL usp_ebean_drop_column('migtest_e_basic', 'new_integer');
+CALL usp_ebean_drop_column('migtest_e_history', 'sys_period_start');
+CALL usp_ebean_drop_column('migtest_e_history', 'sys_period_end');
CALL usp_ebean_drop_column('migtest_e_history2', 'test_string2');
CALL usp_ebean_drop_column('migtest_e_history2_history', 'test_string2');
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 cba785aa6..86fe5db15 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/idx_mysql.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/mysql55/idx_mysql.migrations
@@ -1,8 +1,8 @@
1835064798, I__create_procs.sql
-881444156, 1.0__initial.sql
-67386209, 1.1.sql
+-700647047, 1.0__initial.sql
+-980860692, 1.1.sql
1986189381, 1.2__dropsFor_1.1.sql
-2054074037, 1.3.sql
--1373040825, 1.4__dropsFor_1.3.sql
+-297983164, 1.3.sql
+950278009, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.0__initial.sql
index 598ba6f2d..20359f42a 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.0__initial.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.0__initial.sql
@@ -99,24 +99,32 @@ create table migtest_e_history2 (
obsolete_string2 varchar(255),
constraint pk_migtest_e_history2 primary key (id)
);
+alter table migtest_e_history2 add column sys_period_start datetime(6) default now();
+alter table migtest_e_history2 add column sys_period_end datetime(6);
create table migtest_e_history3 (
id integer generated by default as identity not null,
test_string varchar(255),
constraint pk_migtest_e_history3 primary key (id)
);
+alter table migtest_e_history3 add column sys_period_start datetime(6) default now();
+alter table migtest_e_history3 add column sys_period_end datetime(6);
create table migtest_e_history4 (
id integer generated by default as identity not null,
test_number integer,
constraint pk_migtest_e_history4 primary key (id)
);
+alter table migtest_e_history4 add column sys_period_start datetime(6) default now();
+alter table migtest_e_history4 add column sys_period_end datetime(6);
create table migtest_e_history5 (
id integer generated by default as identity not null,
test_number integer,
constraint pk_migtest_e_history5 primary key (id)
);
+alter table migtest_e_history5 add column sys_period_start datetime(6) default now();
+alter table migtest_e_history5 add column sys_period_end datetime(6);
create table migtest_e_history6 (
id integer generated by default as identity not null,
@@ -124,6 +132,8 @@ create table migtest_e_history6 (
test_number2 integer not null,
constraint pk_migtest_e_history6 primary key (id)
);
+alter table migtest_e_history6 add column sys_period_start datetime(6) default now();
+alter table migtest_e_history6 add column sys_period_end datetime(6);
create table migtest_e_ref (
id integer generated by default as identity not null,
@@ -162,19 +172,6 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
-create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
-create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
-
-create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id);
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
-
-create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
-alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id);
-
-alter table migtest_e_history2 add column sys_period_start datetime(6) default now();
-alter table migtest_e_history2 add column sys_period_end datetime(6);
create table migtest_e_history2_history(
id integer,
test_string varchar(255),
@@ -185,8 +182,6 @@ create table migtest_e_history2_history(
);
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
-alter table migtest_e_history3 add column sys_period_start datetime(6) default now();
-alter table migtest_e_history3 add column sys_period_end datetime(6);
create table migtest_e_history3_history(
id integer,
test_string varchar(255),
@@ -195,8 +190,6 @@ create table migtest_e_history3_history(
);
create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
-alter table migtest_e_history4 add column sys_period_start datetime(6) default now();
-alter table migtest_e_history4 add column sys_period_end datetime(6);
create table migtest_e_history4_history(
id integer,
test_number integer,
@@ -205,8 +198,6 @@ create table migtest_e_history4_history(
);
create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history;
-alter table migtest_e_history5 add column sys_period_start datetime(6) default now();
-alter table migtest_e_history5 add column sys_period_end datetime(6);
create table migtest_e_history5_history(
id integer,
test_number integer,
@@ -215,8 +206,6 @@ create table migtest_e_history5_history(
);
create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
-alter table migtest_e_history6 add column sys_period_start datetime(6) default now();
-alter table migtest_e_history6 add column sys_period_end datetime(6);
create table migtest_e_history6_history(
id integer,
test_number1 integer,
@@ -226,6 +215,17 @@ create table migtest_e_history6_history(
);
create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history;
+create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
+create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
+create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
+
+create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id);
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
+
+create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
+alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id);
+
delimiter $$
create or replace trigger migtest_e_history2_history_upd for migtest_e_history2 before update for each row as
NEW.sys_period_start = greatest(current_timestamp, date_add(OLD.sys_period_start, interval 1 microsecond));
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.1.sql
index 503833010..895ebaf6a 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.1.sql
@@ -1,10 +1,18 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest1;
+drop index if exists ix_migtest_e_basic_indextest5;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
create table migtest_e_user (
id integer generated by default as identity not null,
@@ -28,55 +36,42 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key);
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id);
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id);
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id);
-alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
-alter table migtest_e_basic alter column status2 varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 set null;
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id);
-alter table migtest_e_basic alter column user_id set null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field boolean default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
-alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
-alter table migtest_e_history alter column test_string bigint;
+alter table migtest_e_history add column sys_period_start datetime(6) default now();
+alter table migtest_e_history add column sys_period_end datetime(6);
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 varchar(127);
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 set null;
+alter table migtest_e_basic alter column user_id set null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field boolean default true not null;
+alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history alter column test_string bigint;
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
@@ -85,26 +80,35 @@ alter table migtest_e_history2 add column new_column varchar(20);
alter table migtest_e_history2_history add column test_string2 varchar(255);
alter table migtest_e_history2_history add column test_string3 varchar(255) default 'unknown';
alter table migtest_e_history2_history add column new_column varchar(20);
-
alter table migtest_e_history4 alter column test_number bigint;
alter table migtest_e_history4_history alter column test_number bigint;
alter table migtest_e_history5 add column test_boolean boolean default false not null;
alter table migtest_e_history5_history add column test_boolean boolean default false;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 set null;
alter table migtest_e_softdelete add column deleted boolean default false not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+create table migtest_e_history_history(
+ id integer,
+ test_string bigint,
+ sys_period_start datetime(6),
+ sys_period_end datetime(6)
+);
+create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index if exists ix_migtest_e_basic_indextest1;
-drop index if exists ix_migtest_e_basic_indextest5;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id);
@@ -120,21 +124,17 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id);
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key);
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id);
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id);
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id);
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id);
-alter table migtest_e_history add column sys_period_start datetime(6) default now();
-alter table migtest_e_history add column sys_period_end datetime(6);
-create table migtest_e_history_history(
- id integer,
- test_string bigint,
- sys_period_start datetime(6),
- sys_period_end datetime(6)
-);
-create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
-
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.2__dropsFor_1.1.sql
index 392d707e3..7b635503a 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.2__dropsFor_1.1.sql
@@ -1,24 +1,17 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
drop view if exists migtest_e_history2_with_history;
-
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-alter table migtest_e_history2_history drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-alter table migtest_e_history2_history drop column obsolete_string2;
-
-drop table if exists migtest_e_ref;
drop sequence if exists migtest_e_ref_seq;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+alter table migtest_e_history2_history drop column obsolete_string1;
+alter table migtest_e_history2_history drop column obsolete_string2;
+drop table if exists migtest_e_ref;
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
-- changes: [drop obsolete_string1, drop obsolete_string2]
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.3.sql
index fa3e3b33d..1b5901359 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.3.sql
@@ -1,9 +1,24 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table migtest_ckey_detail drop constraint fk_migtest_ckey_detail_parent;
+alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
+alter table migtest_fk_none_via_join drop constraint fk_migtest_fk_none_via_join_one_id;
+alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
+alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
+alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest3;
+drop index if exists ix_migtest_e_basic_indextest6;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
-
-- apply changes
create table migtest_e_ref (
id integer generated by default as identity not null,
@@ -12,63 +27,47 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_ckey_detail drop constraint fk_migtest_ckey_detail_parent;
-alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
-alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
-alter table migtest_fk_none_via_join drop constraint fk_migtest_fk_none_via_join_one_id;
-alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status set null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status set null;
alter table migtest_e_basic alter column status2 varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob;
alter table migtest_e_basic add column old_boolean boolean default false not null;
alter table migtest_e_basic add column old_boolean2 boolean;
alter table migtest_e_basic add column eref_id integer;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string set null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
alter table migtest_e_history2_history add column obsolete_string1 varchar(255);
alter table migtest_e_history2_history add column obsolete_string2 varchar(255);
-
alter table migtest_e_history4 alter column test_number integer;
alter table migtest_e_history4_history alter column test_number integer;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 set null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index if exists ix_migtest_e_basic_indextest3;
-drop index if exists ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.4__dropsFor_1.3.sql
index d7e3eaf34..9a52f39b1 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/1.4__dropsFor_1.3.sql
@@ -3,48 +3,33 @@
drop trigger migtest_e_history_history_upd;
drop trigger migtest_e_history_history_del;
drop view migtest_e_history_with_history;
-alter table migtest_e_history drop column sys_period_start;
-alter table migtest_e_history drop column sys_period_end;
drop table migtest_e_history_history;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
+drop sequence if exists migtest_e_user_seq;
alter table migtest_ckey_detail drop column one_key;
-
alter table migtest_ckey_detail drop column two_key;
-
alter table migtest_ckey_parent drop column assoc_id;
-
alter table migtest_e_basic drop column new_string_field;
-
alter table migtest_e_basic drop column new_boolean_field;
-
alter table migtest_e_basic drop column new_boolean_field2;
-
alter table migtest_e_basic drop column progress;
-
alter table migtest_e_basic drop column new_integer;
-
+alter table migtest_e_history drop column sys_period_start;
+alter table migtest_e_history drop column sys_period_end;
alter table migtest_e_history2 drop column test_string2;
-alter table migtest_e_history2_history drop column test_string2;
-
alter table migtest_e_history2 drop column test_string3;
-alter table migtest_e_history2_history drop column test_string3;
-
alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history2_history drop column test_string2;
+alter table migtest_e_history2_history drop column test_string3;
alter table migtest_e_history2_history drop column new_column;
-
alter table migtest_e_history5 drop column test_boolean;
alter table migtest_e_history5_history drop column test_boolean;
-
alter table migtest_e_softdelete drop column deleted;
-
alter table migtest_oto_child drop column master_id;
-
drop table if exists migtest_e_user;
-drop sequence if exists migtest_e_user_seq;
drop table if exists migtest_mtm_c_migtest_mtm_m;
drop table if exists migtest_mtm_m_migtest_mtm_c;
drop table if exists migtest_mtm_m_phone_numbers;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/idx_nuodb.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/idx_nuodb.migrations
index f019b05ef..01b434395 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/idx_nuodb.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/nuodb/idx_nuodb.migrations
@@ -1,7 +1,7 @@
--1343627271, 1.0__initial.sql
-667708916, 1.1.sql
--430421425, 1.2__dropsFor_1.1.sql
-360040564, 1.3.sql
-473283202, 1.4__dropsFor_1.3.sql
+-1287707271, 1.0__initial.sql
+1113108212, 1.1.sql
+-1342063278, 1.2__dropsFor_1.1.sql
+384328282, 1.3.sql
+7108518, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.1.sql
index d8cd56c0a..d213631d7 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.1.sql
@@ -1,4 +1,59 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
+delimiter $$
+declare
+ expected_error exception;
+ pragma exception_init(expected_error, -2443);
+begin
+ execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status';
+exception
+ when expected_error then null;
+end;
+$$;
+delimiter $$
+declare
+ expected_error exception;
+ pragma exception_init(expected_error, -2443);
+begin
+ execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2';
+exception
+ when expected_error then null;
+end;
+$$;
+delimiter $$
+declare
+ expected_error exception;
+ pragma exception_init(expected_error, -2443);
+begin
+ execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2';
+exception
+ when expected_error then null;
+end;
+$$;
+delimiter $$
+declare
+ expected_error exception;
+ pragma exception_init(expected_error, -2443);
+begin
+ execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6';
+exception
+ when expected_error then null;
+end;
+$$;
+delimiter $$
+declare
+ expected_error exception;
+ pragma exception_init(expected_error, -2443);
+begin
+ execute immediate 'alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status';
+exception
+ when expected_error then null;
+end;
+$$;
+drop index ix_migtest_e_basic_indextest1;
+drop index ix_migtest_e_basic_indextest5;
-- apply changes
create table migtest_e_user (
id number(10) generated by default as identity not null,
@@ -22,125 +77,66 @@ create table migtest_mtm_m_phone_numbers (
value varchar2(255) not null
);
-alter table migtest_ckey_detail add one_key number(10);
-alter table migtest_ckey_detail add two_key varchar2(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key);
-alter table migtest_ckey_parent add assoc_id number(10);
-alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id);
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id);
-alter table migtest_fk_none_via_join add constraint fk_mgtst_fk_nn_v_jn_n_d foreign key (one_id) references migtest_fk_one (id);
-alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
update migtest_e_basic set status = 'A' where status is null;
-delimiter $$
-declare
- expected_error exception;
- pragma exception_init(expected_error, -2443);
-begin
- execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status';
-exception
- when expected_error then null;
-end;
-$$;
-alter table migtest_e_basic modify status default 'A';
-alter table migtest_e_basic modify status not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-delimiter $$
-declare
- expected_error exception;
- pragma exception_init(expected_error, -2443);
-begin
- execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2';
-exception
- when expected_error then null;
-end;
-$$;
-alter table migtest_e_basic modify status2 varchar2(127);
-alter table migtest_e_basic modify status2 default null;
-alter table migtest_e_basic modify status2 null;
-- rename all collisions;
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id);
-alter table migtest_e_basic modify user_id null;
-alter table migtest_e_basic add new_string_field varchar2(255) default 'foo''bar' not null;
-alter table migtest_e_basic add new_boolean_field number(1) default 1 not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add new_boolean_field2 number(1) default 1 not null;
-alter table migtest_e_basic add progress number(10) default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add new_integer number(10) default 42 not null;
-
-delimiter $$
-declare
- expected_error exception;
- pragma exception_init(expected_error, -2443);
-begin
- execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2';
-exception
- when expected_error then null;
-end;
-$$;
-delimiter $$
-declare
- expected_error exception;
- pragma exception_init(expected_error, -2443);
-begin
- execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6';
-exception
- when expected_error then null;
-end;
-$$;
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_mgtst__bsc_stts_ndxtst1 unique (status,indextest1);
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
-delimiter $$
-declare
- expected_error exception;
- pragma exception_init(expected_error, -2443);
-begin
- execute immediate 'alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status';
-exception
- when expected_error then null;
-end;
-$$;
-comment on column migtest_e_history.test_string is 'Column altered to long now';
-alter table migtest_e_history modify test_string number(19);
-comment on table migtest_e_history is 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add one_key number(10);
+alter table migtest_ckey_detail add two_key varchar2(127);
+alter table migtest_ckey_parent add assoc_id number(10);
+alter table migtest_e_basic modify status default 'A';
+alter table migtest_e_basic modify status not null;
+alter table migtest_e_basic modify status2 varchar2(127);
+alter table migtest_e_basic modify status2 default null;
+alter table migtest_e_basic modify status2 null;
+alter table migtest_e_basic modify user_id null;
+alter table migtest_e_basic add new_string_field varchar2(255) default 'foo''bar' not null;
+alter table migtest_e_basic add new_boolean_field number(1) default 1 not null;
+alter table migtest_e_basic add new_boolean_field2 number(1) default 1 not null;
+alter table migtest_e_basic add progress number(10) default 0 not null;
+alter table migtest_e_basic add new_integer number(10) default 42 not null;
+alter table migtest_e_history modify test_string number(19);
alter table migtest_e_history2 modify test_string default 'unknown';
alter table migtest_e_history2 modify test_string not null;
alter table migtest_e_history2 add test_string2 varchar2(255);
alter table migtest_e_history2 add test_string3 varchar2(255) default 'unknown' not null;
alter table migtest_e_history2 add new_column varchar2(20);
-
alter table migtest_e_history4 modify test_number number(19);
alter table migtest_e_history5 add test_boolean number(1) default 0 not null;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 modify test_number1 default 42;
alter table migtest_e_history6 modify test_number1 not null;
alter table migtest_e_history6 modify test_number2 null;
alter table migtest_e_softdelete add deleted number(1) default 0 not null;
-
alter table migtest_oto_child add master_id number(19);
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_mgtst__bsc_stts_ndxtst1 unique (status,indextest1);
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+comment on column migtest_e_history.test_string is 'Column altered to long now';
+comment on table migtest_e_history is 'We have history now';
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index ix_migtest_e_basic_indextest1;
-drop index ix_migtest_e_basic_indextest5;
create index ix_mgtst_mtm_c_mgtst_mt_3ug4ok on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_mgtst_mtm_c_mgtst_mt_93awga foreign key (migtest_mtm_c_id) references migtest_mtm_c (id);
@@ -156,8 +152,14 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_mgtst_mtm_m_mgtst_mt_g
create index ix_mgtst_mtm_m_phn_nmbr_do9ma3 on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_mgtst_mtm_m_phn_nmbr_s8neid foreign key (migtest_mtm_m_id) references migtest_mtm_m (id);
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key);
create index ix_mgtst_cky_prnt_ssc_d on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_mgtst_cky_prnt_ssc_d foreign key (assoc_id) references migtest_ckey_assoc (id);
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id);
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_fk_none_via_join add constraint fk_mgtst_fk_nn_v_jn_n_d foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id);
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id);
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 25ba7f1ea..4c0af48aa 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,18 +1,5 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-
-drop table migtest_e_ref cascade constraints purge;
delimiter $$
declare
expected_error exception;
@@ -23,3 +10,10 @@ exception
when expected_error then null;
end;
$$;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+drop table migtest_e_ref cascade constraints purge;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.3.sql
index d8bc8ee66..868163641 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.3.sql
@@ -1,19 +1,10 @@
-- Migrationscripts for ebean unittest
--- apply changes
-create table migtest_e_ref (
- id number(10) generated by default as identity not null,
- name varchar2(127) not null,
- constraint uq_migtest_e_ref_name unique (name),
- constraint pk_migtest_e_ref primary key (id)
-);
-
+-- drop dependencies
alter table migtest_ckey_detail drop constraint fk_migtest_ckey_detail_parent;
alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
alter table migtest_fk_none_via_join drop constraint fk_mgtst_fk_nn_v_jn_n_d;
alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
delimiter $$
declare
expected_error exception;
@@ -24,11 +15,6 @@ exception
when expected_error then null;
end;
$$;
-alter table migtest_e_basic modify status default null;
-alter table migtest_e_basic modify status null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
-
-update migtest_e_basic set status2 = 'N' where status2 is null;
delimiter $$
declare
expected_error exception;
@@ -39,10 +25,6 @@ exception
when expected_error then null;
end;
$$;
-alter table migtest_e_basic modify status2 varchar2(1);
-alter table migtest_e_basic modify status2 default 'N';
-alter table migtest_e_basic modify status2 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
delimiter $$
declare
expected_error exception;
@@ -53,16 +35,7 @@ exception
when expected_error then null;
end;
$$;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
-alter table migtest_e_basic modify user_id default 23;
-alter table migtest_e_basic modify user_id not null;
-alter table migtest_e_basic add description_file blob;
-alter table migtest_e_basic add old_boolean number(1) default 0 not null;
-alter table migtest_e_basic add old_boolean2 number(1);
-alter table migtest_e_basic add eref_id number(10);
-
delimiter $$
declare
expected_error exception;
@@ -103,8 +76,6 @@ exception
when expected_error then null;
end;
$$;
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
delimiter $$
declare
expected_error exception;
@@ -115,26 +86,56 @@ exception
when expected_error then null;
end;
$$;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
+drop index ix_migtest_e_basic_indextest3;
+drop index ix_migtest_e_basic_indextest6;
+-- apply changes
+create table migtest_e_ref (
+ id number(10) generated by default as identity not null,
+ name varchar2(127) not null,
+ constraint uq_migtest_e_ref_name unique (name),
+ constraint pk_migtest_e_ref primary key (id)
+);
+
+
+update migtest_e_basic set status2 = 'N' where status2 is null;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic modify status default null;
+alter table migtest_e_basic modify status null;
+alter table migtest_e_basic modify status2 varchar2(1);
+alter table migtest_e_basic modify status2 default 'N';
+alter table migtest_e_basic modify status2 not null;
+alter table migtest_e_basic modify user_id default 23;
+alter table migtest_e_basic modify user_id not null;
+alter table migtest_e_basic add description_file blob;
+alter table migtest_e_basic add old_boolean number(1) default 0 not null;
+alter table migtest_e_basic add old_boolean2 number(1);
+alter table migtest_e_basic add eref_id number(10);
alter table migtest_e_history2 modify test_string default null;
alter table migtest_e_history2 modify test_string null;
alter table migtest_e_history2 add obsolete_string1 varchar2(255);
alter table migtest_e_history2 add obsolete_string2 varchar2(255);
-
alter table migtest_e_history4 modify test_number number(10);
alter table migtest_e_history6 modify test_number1 default null;
alter table migtest_e_history6 modify test_number1 null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 modify test_number2 default 7;
alter table migtest_e_history6 modify test_number2 not null;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index ix_migtest_e_basic_indextest3;
-drop index ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.4__dropsFor_1.3.sql
index 42bff6949..065b946ee 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle/1.4__dropsFor_1.3.sql
@@ -1,34 +1,5 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_ckey_detail drop column one_key;
-
-alter table migtest_ckey_detail drop column two_key;
-
-alter table migtest_ckey_parent drop column assoc_id;
-
-alter table migtest_e_basic drop column new_string_field;
-
-alter table migtest_e_basic drop column new_boolean_field;
-
-alter table migtest_e_basic drop column new_boolean_field2;
-
-alter table migtest_e_basic drop column progress;
-
-alter table migtest_e_basic drop column new_integer;
-
-alter table migtest_e_history2 drop column test_string2;
-
-alter table migtest_e_history2 drop column test_string3;
-
-alter table migtest_e_history2 drop column new_column;
-
-alter table migtest_e_history5 drop column test_boolean;
-
-alter table migtest_e_softdelete drop column deleted;
-
-alter table migtest_oto_child drop column master_id;
-
-drop table migtest_e_user cascade constraints purge;
delimiter $$
declare
expected_error exception;
@@ -39,6 +10,21 @@ exception
when expected_error then null;
end;
$$;
+alter table migtest_ckey_detail drop column one_key;
+alter table migtest_ckey_detail drop column two_key;
+alter table migtest_ckey_parent drop column assoc_id;
+alter table migtest_e_basic drop column new_string_field;
+alter table migtest_e_basic drop column new_boolean_field;
+alter table migtest_e_basic drop column new_boolean_field2;
+alter table migtest_e_basic drop column progress;
+alter table migtest_e_basic drop column new_integer;
+alter table migtest_e_history2 drop column test_string2;
+alter table migtest_e_history2 drop column test_string3;
+alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history5 drop column test_boolean;
+alter table migtest_e_softdelete drop column deleted;
+alter table migtest_oto_child drop column master_id;
+drop table migtest_e_user cascade constraints purge;
drop table migtest_mtm_c_migtest_mtm_m cascade constraints purge;
drop table migtest_mtm_m_migtest_mtm_c cascade constraints purge;
drop table migtest_mtm_m_phone_numbers cascade constraints purge;
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 98d613833..0311f72ce 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,8 +1,8 @@
1732845114, 1.0__initial.sql
--769875282, 1.1.sql
-1140013965, 1.2__dropsFor_1.1.sql
--1374341416, 1.3.sql
-1340223598, 1.4__dropsFor_1.3.sql
+1978325167, 1.1.sql
+716378422, 1.2__dropsFor_1.1.sql
+-740156680, 1.3.sql
+1781097804, 1.4__dropsFor_1.3.sql
1357801733, R__oracle_only_views.sql
561281075, R__order_views.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.1.sql
index d337abc34..6ae6721c2 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.1.sql
@@ -1,4 +1,59 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
+delimiter $$
+declare
+ expected_error exception;
+ pragma exception_init(expected_error, -2443);
+begin
+ execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status';
+exception
+ when expected_error then null;
+end;
+$$;
+delimiter $$
+declare
+ expected_error exception;
+ pragma exception_init(expected_error, -2443);
+begin
+ execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2';
+exception
+ when expected_error then null;
+end;
+$$;
+delimiter $$
+declare
+ expected_error exception;
+ pragma exception_init(expected_error, -2443);
+begin
+ execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2';
+exception
+ when expected_error then null;
+end;
+$$;
+delimiter $$
+declare
+ expected_error exception;
+ pragma exception_init(expected_error, -2443);
+begin
+ execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6';
+exception
+ when expected_error then null;
+end;
+$$;
+delimiter $$
+declare
+ expected_error exception;
+ pragma exception_init(expected_error, -2443);
+begin
+ execute immediate 'alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status';
+exception
+ when expected_error then null;
+end;
+$$;
+drop index ix_migtest_e_basic_indextest1;
+drop index ix_migtest_e_basic_indextest5;
-- apply changes
create table migtest_e_user (
id number(10) not null,
@@ -23,125 +78,66 @@ create table migtest_mtm_m_phone_numbers (
value varchar2(255) not null
);
-alter table migtest_ckey_detail add one_key number(10);
-alter table migtest_ckey_detail add two_key varchar2(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key);
-alter table migtest_ckey_parent add assoc_id number(10);
-alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id);
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id);
-alter table migtest_fk_none_via_join add constraint fk_mgtst_fk_nn_v_jn_n_d foreign key (one_id) references migtest_fk_one (id);
-alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
update migtest_e_basic set status = 'A' where status is null;
-delimiter $$
-declare
- expected_error exception;
- pragma exception_init(expected_error, -2443);
-begin
- execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status';
-exception
- when expected_error then null;
-end;
-$$;
-alter table migtest_e_basic modify status default 'A';
-alter table migtest_e_basic modify status not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-delimiter $$
-declare
- expected_error exception;
- pragma exception_init(expected_error, -2443);
-begin
- execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2';
-exception
- when expected_error then null;
-end;
-$$;
-alter table migtest_e_basic modify status2 varchar2(127);
-alter table migtest_e_basic modify status2 default null;
-alter table migtest_e_basic modify status2 null;
-- rename all collisions;
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id);
-alter table migtest_e_basic modify user_id null;
-alter table migtest_e_basic add new_string_field varchar2(255) default 'foo''bar' not null;
-alter table migtest_e_basic add new_boolean_field number(1) default 1 not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add new_boolean_field2 number(1) default 1 not null;
-alter table migtest_e_basic add progress number(10) default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add new_integer number(10) default 42 not null;
-
-delimiter $$
-declare
- expected_error exception;
- pragma exception_init(expected_error, -2443);
-begin
- execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2';
-exception
- when expected_error then null;
-end;
-$$;
-delimiter $$
-declare
- expected_error exception;
- pragma exception_init(expected_error, -2443);
-begin
- execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6';
-exception
- when expected_error then null;
-end;
-$$;
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_mgtst__bsc_stts_ndxtst1 unique (status,indextest1);
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
-delimiter $$
-declare
- expected_error exception;
- pragma exception_init(expected_error, -2443);
-begin
- execute immediate 'alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status';
-exception
- when expected_error then null;
-end;
-$$;
-comment on column migtest_e_history.test_string is 'Column altered to long now';
-alter table migtest_e_history modify test_string number(19);
-comment on table migtest_e_history is 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add one_key number(10);
+alter table migtest_ckey_detail add two_key varchar2(127);
+alter table migtest_ckey_parent add assoc_id number(10);
+alter table migtest_e_basic modify status default 'A';
+alter table migtest_e_basic modify status not null;
+alter table migtest_e_basic modify status2 varchar2(127);
+alter table migtest_e_basic modify status2 default null;
+alter table migtest_e_basic modify status2 null;
+alter table migtest_e_basic modify user_id null;
+alter table migtest_e_basic add new_string_field varchar2(255) default 'foo''bar' not null;
+alter table migtest_e_basic add new_boolean_field number(1) default 1 not null;
+alter table migtest_e_basic add new_boolean_field2 number(1) default 1 not null;
+alter table migtest_e_basic add progress number(10) default 0 not null;
+alter table migtest_e_basic add new_integer number(10) default 42 not null;
+alter table migtest_e_history modify test_string number(19);
alter table migtest_e_history2 modify test_string default 'unknown';
alter table migtest_e_history2 modify test_string not null;
alter table migtest_e_history2 add test_string2 varchar2(255);
alter table migtest_e_history2 add test_string3 varchar2(255) default 'unknown' not null;
alter table migtest_e_history2 add new_column varchar2(20);
-
alter table migtest_e_history4 modify test_number number(19);
alter table migtest_e_history5 add test_boolean number(1) default 0 not null;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 modify test_number1 default 42;
alter table migtest_e_history6 modify test_number1 not null;
alter table migtest_e_history6 modify test_number2 null;
alter table migtest_e_softdelete add deleted number(1) default 0 not null;
-
alter table migtest_oto_child add master_id number(19);
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_mgtst__bsc_stts_ndxtst1 unique (status,indextest1);
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+comment on column migtest_e_history.test_string is 'Column altered to long now';
+comment on table migtest_e_history is 'We have history now';
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index ix_migtest_e_basic_indextest1;
-drop index ix_migtest_e_basic_indextest5;
create index ix_mgtst_mtm_c_mgtst_mt_3ug4ok on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_mgtst_mtm_c_mgtst_mt_93awga foreign key (migtest_mtm_c_id) references migtest_mtm_c (id);
@@ -157,8 +153,14 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_mgtst_mtm_m_mgtst_mt_g
create index ix_mgtst_mtm_m_phn_nmbr_do9ma3 on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_mgtst_mtm_m_phn_nmbr_s8neid foreign key (migtest_mtm_m_id) references migtest_mtm_m (id);
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key);
create index ix_mgtst_cky_prnt_ssc_d on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_mgtst_cky_prnt_ssc_d foreign key (assoc_id) references migtest_ckey_assoc (id);
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id);
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_fk_none_via_join add constraint fk_mgtst_fk_nn_v_jn_n_d foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id);
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.2__dropsFor_1.1.sql
index 25ba7f1ea..4c0af48aa 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.2__dropsFor_1.1.sql
@@ -1,18 +1,5 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-
-drop table migtest_e_ref cascade constraints purge;
delimiter $$
declare
expected_error exception;
@@ -23,3 +10,10 @@ exception
when expected_error then null;
end;
$$;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+drop table migtest_e_ref cascade constraints purge;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.3.sql
index 1e7511caf..ba8dae439 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.3.sql
@@ -1,20 +1,10 @@
-- Migrationscripts for ebean unittest
--- apply changes
-create table migtest_e_ref (
- id number(10) not null,
- name varchar2(127) not null,
- constraint uq_migtest_e_ref_name unique (name),
- constraint pk_migtest_e_ref primary key (id)
-);
-create sequence migtest_e_ref_seq;
-
+-- drop dependencies
alter table migtest_ckey_detail drop constraint fk_migtest_ckey_detail_parent;
alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
alter table migtest_fk_none_via_join drop constraint fk_mgtst_fk_nn_v_jn_n_d;
alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
delimiter $$
declare
expected_error exception;
@@ -25,11 +15,6 @@ exception
when expected_error then null;
end;
$$;
-alter table migtest_e_basic modify status default null;
-alter table migtest_e_basic modify status null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
-
-update migtest_e_basic set status2 = 'N' where status2 is null;
delimiter $$
declare
expected_error exception;
@@ -40,10 +25,6 @@ exception
when expected_error then null;
end;
$$;
-alter table migtest_e_basic modify status2 varchar2(1);
-alter table migtest_e_basic modify status2 default 'N';
-alter table migtest_e_basic modify status2 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
delimiter $$
declare
expected_error exception;
@@ -54,16 +35,7 @@ exception
when expected_error then null;
end;
$$;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
-alter table migtest_e_basic modify user_id default 23;
-alter table migtest_e_basic modify user_id not null;
-alter table migtest_e_basic add description_file blob;
-alter table migtest_e_basic add old_boolean number(1) default 0 not null;
-alter table migtest_e_basic add old_boolean2 number(1);
-alter table migtest_e_basic add eref_id number(10);
-
delimiter $$
declare
expected_error exception;
@@ -104,8 +76,6 @@ exception
when expected_error then null;
end;
$$;
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
--- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
delimiter $$
declare
expected_error exception;
@@ -116,26 +86,57 @@ exception
when expected_error then null;
end;
$$;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
+drop index ix_migtest_e_basic_indextest3;
+drop index ix_migtest_e_basic_indextest6;
+-- apply changes
+create table migtest_e_ref (
+ id number(10) not null,
+ name varchar2(127) not null,
+ constraint uq_migtest_e_ref_name unique (name),
+ constraint pk_migtest_e_ref primary key (id)
+);
+create sequence migtest_e_ref_seq;
+
+
+update migtest_e_basic set status2 = 'N' where status2 is null;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic modify status default null;
+alter table migtest_e_basic modify status null;
+alter table migtest_e_basic modify status2 varchar2(1);
+alter table migtest_e_basic modify status2 default 'N';
+alter table migtest_e_basic modify status2 not null;
+alter table migtest_e_basic modify user_id default 23;
+alter table migtest_e_basic modify user_id not null;
+alter table migtest_e_basic add description_file blob;
+alter table migtest_e_basic add old_boolean number(1) default 0 not null;
+alter table migtest_e_basic add old_boolean2 number(1);
+alter table migtest_e_basic add eref_id number(10);
alter table migtest_e_history2 modify test_string default null;
alter table migtest_e_history2 modify test_string null;
alter table migtest_e_history2 add obsolete_string1 varchar2(255);
alter table migtest_e_history2 add obsolete_string2 varchar2(255);
-
alter table migtest_e_history4 modify test_number number(10);
alter table migtest_e_history6 modify test_number1 default null;
alter table migtest_e_history6 modify test_number1 null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 modify test_number2 default 7;
alter table migtest_e_history6 modify test_number2 not null;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index ix_migtest_e_basic_indextest3;
-drop index ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.4__dropsFor_1.3.sql
index 42bff6949..065b946ee 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/1.4__dropsFor_1.3.sql
@@ -1,34 +1,5 @@
-- Migrationscripts for ebean unittest
-- apply changes
-alter table migtest_ckey_detail drop column one_key;
-
-alter table migtest_ckey_detail drop column two_key;
-
-alter table migtest_ckey_parent drop column assoc_id;
-
-alter table migtest_e_basic drop column new_string_field;
-
-alter table migtest_e_basic drop column new_boolean_field;
-
-alter table migtest_e_basic drop column new_boolean_field2;
-
-alter table migtest_e_basic drop column progress;
-
-alter table migtest_e_basic drop column new_integer;
-
-alter table migtest_e_history2 drop column test_string2;
-
-alter table migtest_e_history2 drop column test_string3;
-
-alter table migtest_e_history2 drop column new_column;
-
-alter table migtest_e_history5 drop column test_boolean;
-
-alter table migtest_e_softdelete drop column deleted;
-
-alter table migtest_oto_child drop column master_id;
-
-drop table migtest_e_user cascade constraints purge;
delimiter $$
declare
expected_error exception;
@@ -39,6 +10,21 @@ exception
when expected_error then null;
end;
$$;
+alter table migtest_ckey_detail drop column one_key;
+alter table migtest_ckey_detail drop column two_key;
+alter table migtest_ckey_parent drop column assoc_id;
+alter table migtest_e_basic drop column new_string_field;
+alter table migtest_e_basic drop column new_boolean_field;
+alter table migtest_e_basic drop column new_boolean_field2;
+alter table migtest_e_basic drop column progress;
+alter table migtest_e_basic drop column new_integer;
+alter table migtest_e_history2 drop column test_string2;
+alter table migtest_e_history2 drop column test_string3;
+alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history5 drop column test_boolean;
+alter table migtest_e_softdelete drop column deleted;
+alter table migtest_oto_child drop column master_id;
+drop table migtest_e_user cascade constraints purge;
drop table migtest_mtm_c_migtest_mtm_m cascade constraints purge;
drop table migtest_mtm_m_migtest_mtm_c cascade constraints purge;
drop table migtest_mtm_m_phone_numbers cascade constraints purge;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/idx_oracle.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/idx_oracle.migrations
index 7af94d4e5..ed215cca7 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/idx_oracle.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/oracle11/idx_oracle.migrations
@@ -1,8 +1,8 @@
-756544611, 1.0__initial.sql
--1128902470, 1.1.sql
-1140013965, 1.2__dropsFor_1.1.sql
--1534972229, 1.3.sql
-1340223598, 1.4__dropsFor_1.3.sql
+852231507, 1.1.sql
+716378422, 1.2__dropsFor_1.1.sql
+1600556691, 1.3.sql
+1781097804, 1.4__dropsFor_1.3.sql
1357801733, R__oracle_only_views.sql
561281075, R__order_views.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.0__initial.sql
index 9dfbbd842..271380759 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
@@ -99,24 +99,28 @@ create table migtest_e_history2 (
obsolete_string2 varchar(255),
constraint pk_migtest_e_history2 primary key (id)
);
+alter table migtest_e_history2 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_history3 (
id integer generated by default as identity not null,
test_string varchar(255),
constraint pk_migtest_e_history3 primary key (id)
);
+alter table migtest_e_history3 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_history4 (
id integer generated by default as identity not null,
test_number integer,
constraint pk_migtest_e_history4 primary key (id)
);
+alter table migtest_e_history4 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_history5 (
id integer generated by default as identity not null,
test_number integer,
constraint pk_migtest_e_history5 primary key (id)
);
+alter table migtest_e_history5 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_history6 (
id integer generated by default as identity not null,
@@ -124,6 +128,7 @@ create table migtest_e_history6 (
test_number2 integer not null,
constraint pk_migtest_e_history6 primary key (id)
);
+alter table migtest_e_history6 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_ref (
id integer generated by default as identity not null,
@@ -162,6 +167,21 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
+create table migtest_e_history2_history(like migtest_e_history2);
+create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
+
+create table migtest_e_history3_history(like migtest_e_history3);
+create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
+
+create table migtest_e_history4_history(like migtest_e_history4);
+create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history;
+
+create table migtest_e_history5_history(like migtest_e_history5);
+create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
+
+create table migtest_e_history6_history(like migtest_e_history6);
+create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history;
+
create index if not exists ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index if not exists ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
create index idxd_migtest_0 on migtest_oto_child using hash (upper(name)) where upper(name) = 'JIM';
@@ -176,26 +196,6 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
-alter table migtest_e_history2 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history2_history(like migtest_e_history2);
-create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
-
-alter table migtest_e_history3 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history3_history(like migtest_e_history3);
-create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
-
-alter table migtest_e_history4 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history4_history(like migtest_e_history4);
-create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history;
-
-alter table migtest_e_history5 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history5_history(like migtest_e_history5);
-create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
-
-alter table migtest_e_history6 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history6_history(like migtest_e_history6);
-create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history;
-
create or replace function migtest_e_history2_history_version() returns trigger as $$
declare
lowerTs timestamptz;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.1.sql
index 37be77440..dc2eefa72 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.1.sql
@@ -1,10 +1,21 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest1;
+drop index if exists ix_migtest_e_basic_indextest5;
+drop index if exists idxd_migtest_0;
+drop index concurrently if exists ix_migtest_oto_child_lowername_id;
+drop index if exists ix_migtest_oto_child_lowername;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
create table migtest_e_user (
id integer generated by default as identity not null,
@@ -28,59 +39,45 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
alter table migtest_e_basic alter column status2 type varchar(127) using status2::varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 drop not null;
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
-alter table migtest_e_basic alter column user_id drop not null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field boolean default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+alter table migtest_e_history add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
alter table migtest_e_history alter column test_string TYPE bigint USING (test_string::integer);
-comment on column migtest_e_history.test_string is 'Column altered to long now';
alter table migtest_e_history alter column test_string type bigint using test_string::bigint;
-comment on table migtest_e_history is 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+alter table migtest_e_history4 alter column test_number type bigint using test_number::bigint;
+alter table migtest_e_history4_history alter column test_number type bigint using test_number::bigint;
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 drop not null;
+alter table migtest_e_basic alter column user_id drop not null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field boolean default true not null;
+alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
@@ -89,30 +86,31 @@ alter table migtest_e_history2 add column new_column varchar(20);
alter table migtest_e_history2_history add column test_string2 varchar(255);
alter table migtest_e_history2_history add column test_string3 varchar(255) default 'unknown';
alter table migtest_e_history2_history add column new_column varchar(20);
-
-alter table migtest_e_history4 alter column test_number type bigint using test_number::bigint;
-alter table migtest_e_history4_history alter column test_number type bigint using test_number::bigint;
alter table migtest_e_history5 add column test_boolean boolean default false not null;
alter table migtest_e_history5_history add column test_boolean boolean default false;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 drop not null;
alter table migtest_e_softdelete add column deleted boolean default false not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+create table migtest_e_history_history(like migtest_e_history);
+create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
+
+comment on column migtest_e_history.test_string is 'Column altered to long now';
+comment on table migtest_e_history is 'We have history now';
create index if not exists ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index if not exists ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
create index if not exists ix_migtest_oto_child_name on migtest_oto_child (name);
-drop index if exists ix_migtest_e_basic_indextest1;
-drop index if exists ix_migtest_e_basic_indextest5;
-drop index if exists idxd_migtest_0;
-drop index concurrently if exists ix_migtest_oto_child_lowername_id;
-drop index if exists ix_migtest_oto_child_lowername;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
@@ -128,15 +126,17 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
-alter table migtest_e_history add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history_history(like migtest_e_history);
-create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
-
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
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 35a7e2b4a..57928b00c 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
@@ -1,24 +1,17 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
drop view if exists migtest_e_history2_with_history;
-
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-alter table migtest_e_history2_history drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-alter table migtest_e_history2_history drop column obsolete_string2;
-
-drop table if exists migtest_e_ref cascade;
drop sequence if exists migtest_e_ref_seq;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+alter table migtest_e_history2_history drop column obsolete_string1;
+alter table migtest_e_history2_history drop column obsolete_string2;
+drop table if exists migtest_e_ref cascade;
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
-- changes: [drop obsolete_string1, drop obsolete_string2]
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.3.sql
index 79cc955b5..274635ed6 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.3.sql
@@ -1,9 +1,24 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table if exists migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
+alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table if exists migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
+alter table if exists migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
+alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
+alter table if exists migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest3;
+drop index if exists ix_migtest_e_basic_indextest6;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
-
-- apply changes
create table migtest_e_ref (
id integer generated by default as identity not null,
@@ -12,68 +27,52 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
-alter table if exists migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
-alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-alter table if exists migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
-alter table if exists migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
-alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status drop not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
alter table migtest_e_basic alter column status2 type varchar(1) using status2::varchar(1);
-alter table migtest_e_basic alter column status2 set default 'N';
-alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
update migtest_e_basic set user_id = 23 where user_id is null;
-alter table if exists migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
+
+
+alter table migtest_e_history4 alter column test_number type integer using test_number::integer;
+alter table migtest_e_history4_history alter column test_number type integer using test_number::integer;
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status drop not null;
+alter table migtest_e_basic alter column status2 set default 'N';
+alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file bytea;
alter table migtest_e_basic add column old_boolean boolean default false not null;
alter table migtest_e_basic add column old_boolean2 boolean;
alter table migtest_e_basic add column eref_id integer;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string drop not null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
alter table migtest_e_history2_history add column obsolete_string1 varchar(255);
alter table migtest_e_history2_history add column obsolete_string2 varchar(255);
-
-alter table migtest_e_history4 alter column test_number type integer using test_number::integer;
-alter table migtest_e_history4_history alter column test_number type integer using test_number::integer;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 drop not null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
create index if not exists ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index if not exists ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
create index if not exists ix_m12_otoc71 on migtest_oto_child (name);
create unique index if not exists uq_m12_otoc71 on migtest_oto_child (lower(name));
create unique index if not exists ix_migtest_oto_master_lowername on migtest_oto_master (lower(name));
-drop index if exists ix_migtest_e_basic_indextest3;
-drop index if exists ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.4__dropsFor_1.3.sql
index 4524d4a40..304ee5057 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres/1.4__dropsFor_1.3.sql
@@ -4,47 +4,32 @@ drop trigger if exists migtest_e_history_history_upd on migtest_e_history cascad
drop function if exists migtest_e_history_history_version();
drop view migtest_e_history_with_history;
-alter table migtest_e_history drop column sys_period;
drop table migtest_e_history_history;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
+drop sequence if exists migtest_e_user_seq;
alter table migtest_ckey_detail drop column one_key;
-
alter table migtest_ckey_detail drop column two_key;
-
alter table migtest_ckey_parent drop column assoc_id;
-
alter table migtest_e_basic drop column new_string_field;
-
alter table migtest_e_basic drop column new_boolean_field;
-
alter table migtest_e_basic drop column new_boolean_field2;
-
alter table migtest_e_basic drop column progress;
-
alter table migtest_e_basic drop column new_integer;
-
+alter table migtest_e_history drop column sys_period;
alter table migtest_e_history2 drop column test_string2;
-alter table migtest_e_history2_history drop column test_string2;
-
alter table migtest_e_history2 drop column test_string3;
-alter table migtest_e_history2_history drop column test_string3;
-
alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history2_history drop column test_string2;
+alter table migtest_e_history2_history drop column test_string3;
alter table migtest_e_history2_history drop column new_column;
-
alter table migtest_e_history5 drop column test_boolean;
alter table migtest_e_history5_history drop column test_boolean;
-
alter table migtest_e_softdelete drop column deleted;
-
alter table migtest_oto_child drop column master_id;
-
drop table if exists migtest_e_user cascade;
-drop sequence if exists migtest_e_user_seq;
drop table if exists migtest_mtm_c_migtest_mtm_m cascade;
drop table if exists migtest_mtm_m_migtest_mtm_c cascade;
drop table if exists migtest_mtm_m_phone_numbers cascade;
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 36d862b83..d23cdee00 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,8 +1,8 @@
--757334590, 1.0__initial.sql
-1548995254, 1.1.sql
-1360771849, 1.2__dropsFor_1.1.sql
-592037553, 1.3.sql
--1991941691, 1.4__dropsFor_1.3.sql
+-1264346125, 1.0__initial.sql
+94461303, 1.1.sql
+713998356, 1.2__dropsFor_1.1.sql
+1966394343, 1.3.sql
+2043551312, 1.4__dropsFor_1.3.sql
783227075, R__multi_comments.sql
561281075, R__order_views.sql
283077354, R__pg_indexes.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.0__initial.sql
index 259f541c4..720657951 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.0__initial.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.0__initial.sql
@@ -99,24 +99,28 @@ create table migtest_e_history2 (
obsolete_string2 varchar(255),
constraint pk_migtest_e_history2 primary key (id)
);
+alter table migtest_e_history2 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_history3 (
id serial not null,
test_string varchar(255),
constraint pk_migtest_e_history3 primary key (id)
);
+alter table migtest_e_history3 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_history4 (
id serial not null,
test_number integer,
constraint pk_migtest_e_history4 primary key (id)
);
+alter table migtest_e_history4 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_history5 (
id serial not null,
test_number integer,
constraint pk_migtest_e_history5 primary key (id)
);
+alter table migtest_e_history5 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_history6 (
id serial not null,
@@ -124,6 +128,7 @@ create table migtest_e_history6 (
test_number2 integer not null,
constraint pk_migtest_e_history6 primary key (id)
);
+alter table migtest_e_history6 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_ref (
id serial not null,
@@ -162,6 +167,21 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
+create table migtest_e_history2_history(like migtest_e_history2);
+create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
+
+create table migtest_e_history3_history(like migtest_e_history3);
+create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
+
+create table migtest_e_history4_history(like migtest_e_history4);
+create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history;
+
+create table migtest_e_history5_history(like migtest_e_history5);
+create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
+
+create table migtest_e_history6_history(like migtest_e_history6);
+create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history;
+
create index if not exists ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index if not exists ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
create index idxd_migtest_0 on migtest_oto_child using hash (upper(name)) where upper(name) = 'JIM';
@@ -176,26 +196,6 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
-alter table migtest_e_history2 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history2_history(like migtest_e_history2);
-create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
-
-alter table migtest_e_history3 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history3_history(like migtest_e_history3);
-create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
-
-alter table migtest_e_history4 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history4_history(like migtest_e_history4);
-create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history;
-
-alter table migtest_e_history5 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history5_history(like migtest_e_history5);
-create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
-
-alter table migtest_e_history6 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history6_history(like migtest_e_history6);
-create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history;
-
create or replace function migtest_e_history2_history_version() returns trigger as $$
declare
lowerTs timestamptz;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.1.sql
index 82fc83f2b..e12c39028 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.1.sql
@@ -1,10 +1,21 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest1;
+drop index if exists ix_migtest_e_basic_indextest5;
+drop index if exists idxd_migtest_0;
+drop index concurrently if exists ix_migtest_oto_child_lowername_id;
+drop index if exists ix_migtest_oto_child_lowername;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
create table migtest_e_user (
id serial not null,
@@ -28,59 +39,45 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
alter table migtest_e_basic alter column status2 type varchar(127) using status2::varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 drop not null;
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
-alter table migtest_e_basic alter column user_id drop not null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field boolean default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+alter table migtest_e_history add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
alter table migtest_e_history alter column test_string TYPE bigint USING (test_string::integer);
-comment on column migtest_e_history.test_string is 'Column altered to long now';
alter table migtest_e_history alter column test_string type bigint using test_string::bigint;
-comment on table migtest_e_history is 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+alter table migtest_e_history4 alter column test_number type bigint using test_number::bigint;
+alter table migtest_e_history4_history alter column test_number type bigint using test_number::bigint;
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 drop not null;
+alter table migtest_e_basic alter column user_id drop not null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field boolean default true not null;
+alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
@@ -89,30 +86,31 @@ alter table migtest_e_history2 add column new_column varchar(20);
alter table migtest_e_history2_history add column test_string2 varchar(255);
alter table migtest_e_history2_history add column test_string3 varchar(255) default 'unknown';
alter table migtest_e_history2_history add column new_column varchar(20);
-
-alter table migtest_e_history4 alter column test_number type bigint using test_number::bigint;
-alter table migtest_e_history4_history alter column test_number type bigint using test_number::bigint;
alter table migtest_e_history5 add column test_boolean boolean default false not null;
alter table migtest_e_history5_history add column test_boolean boolean default false;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 drop not null;
alter table migtest_e_softdelete add column deleted boolean default false not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+create table migtest_e_history_history(like migtest_e_history);
+create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
+
+comment on column migtest_e_history.test_string is 'Column altered to long now';
+comment on table migtest_e_history is 'We have history now';
create index if not exists ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index if not exists ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
create index if not exists ix_migtest_oto_child_name on migtest_oto_child (name);
-drop index if exists ix_migtest_e_basic_indextest1;
-drop index if exists ix_migtest_e_basic_indextest5;
-drop index if exists idxd_migtest_0;
-drop index concurrently if exists ix_migtest_oto_child_lowername_id;
-drop index if exists ix_migtest_oto_child_lowername;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
@@ -128,15 +126,17 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
-alter table migtest_e_history add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history_history(like migtest_e_history);
-create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
-
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.2__dropsFor_1.1.sql
index 35a7e2b4a..57928b00c 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.2__dropsFor_1.1.sql
@@ -1,24 +1,17 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
drop view if exists migtest_e_history2_with_history;
-
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-alter table migtest_e_history2_history drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-alter table migtest_e_history2_history drop column obsolete_string2;
-
-drop table if exists migtest_e_ref cascade;
drop sequence if exists migtest_e_ref_seq;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+alter table migtest_e_history2_history drop column obsolete_string1;
+alter table migtest_e_history2_history drop column obsolete_string2;
+drop table if exists migtest_e_ref cascade;
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
-- changes: [drop obsolete_string1, drop obsolete_string2]
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.3.sql
index 86910344d..d8cb08843 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.3.sql
@@ -1,9 +1,24 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table if exists migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
+alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table if exists migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
+alter table if exists migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
+alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
+alter table if exists migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest3;
+drop index if exists ix_migtest_e_basic_indextest6;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
-
-- apply changes
create table migtest_e_ref (
id serial not null,
@@ -12,68 +27,52 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
-alter table if exists migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
-alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-alter table if exists migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
-alter table if exists migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
-alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status drop not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
alter table migtest_e_basic alter column status2 type varchar(1) using status2::varchar(1);
-alter table migtest_e_basic alter column status2 set default 'N';
-alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
update migtest_e_basic set user_id = 23 where user_id is null;
-alter table if exists migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
+
+
+alter table migtest_e_history4 alter column test_number type integer using test_number::integer;
+alter table migtest_e_history4_history alter column test_number type integer using test_number::integer;
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status drop not null;
+alter table migtest_e_basic alter column status2 set default 'N';
+alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file bytea;
alter table migtest_e_basic add column old_boolean boolean default false not null;
alter table migtest_e_basic add column old_boolean2 boolean;
alter table migtest_e_basic add column eref_id integer;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string drop not null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
alter table migtest_e_history2_history add column obsolete_string1 varchar(255);
alter table migtest_e_history2_history add column obsolete_string2 varchar(255);
-
-alter table migtest_e_history4 alter column test_number type integer using test_number::integer;
-alter table migtest_e_history4_history alter column test_number type integer using test_number::integer;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 drop not null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
create index if not exists ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index if not exists ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
create index if not exists ix_m12_otoc71 on migtest_oto_child (name);
create unique index if not exists uq_m12_otoc71 on migtest_oto_child (lower(name));
create unique index if not exists ix_migtest_oto_master_lowername on migtest_oto_master (lower(name));
-drop index if exists ix_migtest_e_basic_indextest3;
-drop index if exists ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.4__dropsFor_1.3.sql
index 4524d4a40..304ee5057 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/1.4__dropsFor_1.3.sql
@@ -4,47 +4,32 @@ drop trigger if exists migtest_e_history_history_upd on migtest_e_history cascad
drop function if exists migtest_e_history_history_version();
drop view migtest_e_history_with_history;
-alter table migtest_e_history drop column sys_period;
drop table migtest_e_history_history;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
+drop sequence if exists migtest_e_user_seq;
alter table migtest_ckey_detail drop column one_key;
-
alter table migtest_ckey_detail drop column two_key;
-
alter table migtest_ckey_parent drop column assoc_id;
-
alter table migtest_e_basic drop column new_string_field;
-
alter table migtest_e_basic drop column new_boolean_field;
-
alter table migtest_e_basic drop column new_boolean_field2;
-
alter table migtest_e_basic drop column progress;
-
alter table migtest_e_basic drop column new_integer;
-
+alter table migtest_e_history drop column sys_period;
alter table migtest_e_history2 drop column test_string2;
-alter table migtest_e_history2_history drop column test_string2;
-
alter table migtest_e_history2 drop column test_string3;
-alter table migtest_e_history2_history drop column test_string3;
-
alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history2_history drop column test_string2;
+alter table migtest_e_history2_history drop column test_string3;
alter table migtest_e_history2_history drop column new_column;
-
alter table migtest_e_history5 drop column test_boolean;
alter table migtest_e_history5_history drop column test_boolean;
-
alter table migtest_e_softdelete drop column deleted;
-
alter table migtest_oto_child drop column master_id;
-
drop table if exists migtest_e_user cascade;
-drop sequence if exists migtest_e_user_seq;
drop table if exists migtest_mtm_c_migtest_mtm_m cascade;
drop table if exists migtest_mtm_m_migtest_mtm_c cascade;
drop table if exists migtest_mtm_m_phone_numbers cascade;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/idx_postgres.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/idx_postgres.migrations
index 334503fd9..49835ad11 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/idx_postgres.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/postgres9/idx_postgres.migrations
@@ -1,8 +1,8 @@
-36350976, 1.0__initial.sql
-1253246780, 1.1.sql
-1360771849, 1.2__dropsFor_1.1.sql
--1114998431, 1.3.sql
--1991941691, 1.4__dropsFor_1.3.sql
+-568439454, 1.0__initial.sql
+184884356, 1.1.sql
+713998356, 1.2__dropsFor_1.1.sql
+-1677592464, 1.3.sql
+2043551312, 1.4__dropsFor_1.3.sql
783227075, R__multi_comments.sql
561281075, R__order_views.sql
283077354, R__pg_indexes.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.1.sql
index 957136815..04bda2769 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.1.sql
@@ -1,4 +1,14 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest1;
+drop index if exists ix_migtest_e_basic_indextest5;
-- apply changes
create table migtest_e_user (
id integer auto_increment not null,
@@ -22,80 +32,66 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
-alter table migtest_e_basic alter column status2 varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 set null;
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
-alter table migtest_e_basic alter column user_id set null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field bit default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 bit default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-comment on column migtest_e_history.test_string is 'Column altered to long now';
-alter table migtest_e_history alter column test_string numeric(19);
-comment on table migtest_e_history is 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 varchar(127);
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 set null;
+alter table migtest_e_basic alter column user_id set null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field bit default true not null;
+alter table migtest_e_basic add column new_boolean_field2 bit default true not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+alter table migtest_e_history alter column test_string numeric(19);
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
alter table migtest_e_history2 add column new_column varchar(20);
-
alter table migtest_e_history4 alter column test_number numeric(19);
alter table migtest_e_history5 add column test_boolean bit default false not null;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 set null;
alter table migtest_e_softdelete add column deleted bit default false not null;
-
alter table migtest_oto_child add column master_id numeric(19);
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+comment on column migtest_e_history.test_string is 'Column altered to long now';
+comment on table migtest_e_history is 'We have history now';
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index if exists ix_migtest_e_basic_indextest1;
-drop index if exists ix_migtest_e_basic_indextest5;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
@@ -111,8 +107,14 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.2__dropsFor_1.1.sql
index bf1e082c9..219f0c1c5 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.2__dropsFor_1.1.sql
@@ -1,15 +1,8 @@
-- Migrationscripts for ebean unittest
--- apply changes
alter table migtest_e_basic drop column description_file;
-
alter table migtest_e_basic drop column old_boolean;
-
alter table migtest_e_basic drop column old_boolean2;
-
alter table migtest_e_basic drop column eref_id;
-
alter table migtest_e_history2 drop column obsolete_string1;
-
alter table migtest_e_history2 drop column obsolete_string2;
-
drop table if exists migtest_e_ref;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.3.sql
index b8349412b..17430501b 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.3.sql
@@ -1,4 +1,21 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
+alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
+alter table migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
+alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
+alter table migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest3;
+drop index if exists ix_migtest_e_basic_indextest6;
-- apply changes
create table migtest_e_ref (
id integer auto_increment not null,
@@ -7,62 +24,46 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
-alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-alter table migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
-alter table migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
-alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status set null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status set null;
alter table migtest_e_basic alter column status2 varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
-alter table migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file binary(4500);
alter table migtest_e_basic add column old_boolean bit default false not null;
alter table migtest_e_basic add column old_boolean2 bit;
alter table migtest_e_basic add column eref_id integer;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string set null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
-
alter table migtest_e_history4 alter column test_number integer;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 set null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index if exists ix_migtest_e_basic_indextest3;
-drop index if exists ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.4__dropsFor_1.3.sql
index f45a36211..033f0a5a2 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/1.4__dropsFor_1.3.sql
@@ -1,33 +1,18 @@
-- Migrationscripts for ebean unittest
--- apply changes
alter table migtest_ckey_detail drop column one_key;
-
alter table migtest_ckey_detail drop column two_key;
-
alter table migtest_ckey_parent drop column assoc_id;
-
alter table migtest_e_basic drop column new_string_field;
-
alter table migtest_e_basic drop column new_boolean_field;
-
alter table migtest_e_basic drop column new_boolean_field2;
-
alter table migtest_e_basic drop column progress;
-
alter table migtest_e_basic drop column new_integer;
-
alter table migtest_e_history2 drop column test_string2;
-
alter table migtest_e_history2 drop column test_string3;
-
alter table migtest_e_history2 drop column new_column;
-
alter table migtest_e_history5 drop column test_boolean;
-
alter table migtest_e_softdelete drop column deleted;
-
alter table migtest_oto_child drop column master_id;
-
drop table if exists migtest_e_user;
drop table if exists migtest_mtm_c_migtest_mtm_m;
drop table if exists migtest_mtm_m_migtest_mtm_c;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/idx_sqlanywhere.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/idx_sqlanywhere.migrations
index 8ad7c45a6..ba9a1030d 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/idx_sqlanywhere.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlanywhere/idx_sqlanywhere.migrations
@@ -1,6 +1,6 @@
-1152950940, 1.0__initial.sql
-776493598, 1.1.sql
-628353409, 1.2__dropsFor_1.1.sql
-436164575, 1.3.sql
--1045594368, 1.4__dropsFor_1.3.sql
+-1382848803, 1.1.sql
+-155876508, 1.2__dropsFor_1.1.sql
+-1041003459, 1.3.sql
+767202122, 1.4__dropsFor_1.3.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.1.sql
index 3709f7512..2b07b3ed5 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.1.sql
@@ -1,4 +1,14 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+-- not supported: alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+-- not supported: alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+-- not supported: alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+-- not supported: alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+-- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+-- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+-- not supported: alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest1;
+drop index if exists ix_migtest_e_basic_indextest5;
-- apply changes
create table migtest_e_user (
id integer not null,
@@ -27,80 +37,72 @@ create table migtest_mtm_m_phone_numbers (
foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
--- not supported: alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
--- not supported: alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
--- not supported: alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
--- not supported: alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
--- not supported: alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
--- not supported: alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
--- not supported: alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
--- not supported: alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
--- not supported: alter table migtest_e_basic alter column status set default 'A';
--- not supported: alter table migtest_e_basic alter column status set not null;
--- not supported: alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
--- not supported: alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
--- not supported: alter table migtest_e_basic alter column status2 varchar(127);
--- not supported: alter table migtest_e_basic alter column status2 drop default;
--- not supported: alter table migtest_e_basic alter column status2 set null;
-- rename all collisions;
--- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
--- not supported: alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
--- not supported: alter table migtest_e_basic alter column user_id set null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field int default 1 not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 int default 1 not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
--- not supported: alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
--- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
--- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
--- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
--- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
--- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
--- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
--- not supported: alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
--- not supported: alter table migtest_e_history alter column test_string integer;
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+-- not supported: alter table migtest_e_basic alter column status set default 'A';
+-- not supported: alter table migtest_e_basic alter column status set not null;
+-- not supported: alter table migtest_e_basic alter column status2 varchar(127);
+-- not supported: alter table migtest_e_basic alter column status2 drop default;
+-- not supported: alter table migtest_e_basic alter column status2 set null;
+-- not supported: alter table migtest_e_basic alter column user_id set null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field int default 1 not null;
+alter table migtest_e_basic add column new_boolean_field2 int default 1 not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
+-- not supported: alter table migtest_e_history alter column test_string integer;
-- not supported: alter table migtest_e_history2 alter column test_string set default 'unknown';
-- not supported: alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
alter table migtest_e_history2 add column new_column varchar(20);
-
-- not supported: alter table migtest_e_history4 alter column test_number integer;
alter table migtest_e_history5 add column test_boolean int default 0 not null;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
-- not supported: alter table migtest_e_history6 alter column test_number1 set default 42;
-- not supported: alter table migtest_e_history6 alter column test_number1 set not null;
-- not supported: alter table migtest_e_history6 alter column test_number2 set null;
alter table migtest_e_softdelete add column deleted int default 0 not null;
-
alter table migtest_oto_child add column master_id integer;
+-- not supported: alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+-- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+-- not supported: alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+-- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+-- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+-- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+-- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index if exists ix_migtest_e_basic_indextest1;
-drop index if exists ix_migtest_e_basic_indextest5;
+-- not supported: alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
-- not supported: alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+-- not supported: alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+-- not supported: alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+-- not supported: alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+-- not supported: alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+-- not supported: alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
-- not supported: alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
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 bf1e082c9..219f0c1c5 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,15 +1,8 @@
-- Migrationscripts for ebean unittest
--- apply changes
alter table migtest_e_basic drop column description_file;
-
alter table migtest_e_basic drop column old_boolean;
-
alter table migtest_e_basic drop column old_boolean2;
-
alter table migtest_e_basic drop column eref_id;
-
alter table migtest_e_history2 drop column obsolete_string1;
-
alter table migtest_e_history2 drop column obsolete_string2;
-
drop table if exists migtest_e_ref;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.3.sql
index 6bcf4d262..480cde461 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.3.sql
@@ -1,4 +1,21 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+-- not supported: alter table migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
+-- not supported: alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+-- not supported: alter table migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
+-- not supported: alter table migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
+-- not supported: alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+-- not supported: alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+-- not supported: alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+-- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
+-- not supported: alter table migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
+-- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
+-- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
+-- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
+-- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
+-- not supported: alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest3;
+drop index if exists ix_migtest_e_basic_indextest6;
-- apply changes
create table migtest_e_ref (
id integer not null,
@@ -7,60 +24,44 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
--- not supported: alter table migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
--- not supported: alter table migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
--- not supported: alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
--- not supported: alter table migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
--- not supported: alter table migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
--- not supported: alter table migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
--- not supported: alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
--- not supported: alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
--- not supported: alter table migtest_e_basic alter column status drop default;
--- not supported: alter table migtest_e_basic alter column status set null;
--- not supported: alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
--- not supported: alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+-- not supported: alter table migtest_e_basic alter column status drop default;
+-- not supported: alter table migtest_e_basic alter column status set null;
-- not supported: alter table migtest_e_basic alter column status2 varchar(1);
-- not supported: alter table migtest_e_basic alter column status2 set default 'N';
-- not supported: alter table migtest_e_basic alter column status2 set not null;
--- not supported: alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
--- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
--- not supported: alter table migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
-- not supported: alter table migtest_e_basic alter column user_id set default 23;
-- not supported: alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob;
alter table migtest_e_basic add column old_boolean int default 0 not null;
alter table migtest_e_basic add column old_boolean2 int;
alter table migtest_e_basic add column eref_id integer;
-
--- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
--- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
--- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
--- not supported: alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
--- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
--- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
--- not supported: alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
--- not supported: alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-- not supported: alter table migtest_e_history2 alter column test_string drop default;
-- not supported: alter table migtest_e_history2 alter column test_string set null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
-
-- not supported: alter table migtest_e_history4 alter column test_number integer;
-- not supported: alter table migtest_e_history6 alter column test_number1 drop default;
-- not supported: alter table migtest_e_history6 alter column test_number1 set null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
-- not supported: alter table migtest_e_history6 alter column test_number2 set default 7;
-- not supported: alter table migtest_e_history6 alter column test_number2 set not null;
+-- not supported: alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+-- not supported: alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+-- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+-- not supported: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+-- not supported: alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index if exists ix_migtest_e_basic_indextest3;
-drop index if exists ix_migtest_e_basic_indextest6;
+-- not supported: alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+-- not supported: alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
-- not supported: alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.4__dropsFor_1.3.sql
index f45a36211..033f0a5a2 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/1.4__dropsFor_1.3.sql
@@ -1,33 +1,18 @@
-- Migrationscripts for ebean unittest
--- apply changes
alter table migtest_ckey_detail drop column one_key;
-
alter table migtest_ckey_detail drop column two_key;
-
alter table migtest_ckey_parent drop column assoc_id;
-
alter table migtest_e_basic drop column new_string_field;
-
alter table migtest_e_basic drop column new_boolean_field;
-
alter table migtest_e_basic drop column new_boolean_field2;
-
alter table migtest_e_basic drop column progress;
-
alter table migtest_e_basic drop column new_integer;
-
alter table migtest_e_history2 drop column test_string2;
-
alter table migtest_e_history2 drop column test_string3;
-
alter table migtest_e_history2 drop column new_column;
-
alter table migtest_e_history5 drop column test_boolean;
-
alter table migtest_e_softdelete drop column deleted;
-
alter table migtest_oto_child drop column master_id;
-
drop table if exists migtest_e_user;
drop table if exists migtest_mtm_c_migtest_mtm_m;
drop table if exists migtest_mtm_m_migtest_mtm_c;
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 a2235c8ce..b1a4aa620 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/idx_sqlite.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlite/idx_sqlite.migrations
@@ -1,7 +1,7 @@
181087169, 1.0__initial.sql
-136619950, 1.1.sql
-628353409, 1.2__dropsFor_1.1.sql
-1056032295, 1.3.sql
--1045594368, 1.4__dropsFor_1.3.sql
+1010963818, 1.1.sql
+-155876508, 1.2__dropsFor_1.1.sql
+-162538697, 1.3.sql
+767202122, 1.4__dropsFor_1.3.sql
2034589659, R__order_views_sqlite.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.0__initial.sql
index 2058f54b6..bfd1c5ad7 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.0__initial.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.0__initial.sql
@@ -76,8 +76,6 @@ create table migtest_e_basic (
constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I')),
constraint pk_migtest_e_basic primary key (id)
);
-create unique nonclustered index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) where indextest2 is not null;
-create unique nonclustered index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) where indextest6 is not null;
create table migtest_e_enum (
id integer identity(1,1) not null,
@@ -130,7 +128,6 @@ create table migtest_e_ref (
name varchar(127) not null,
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
create table migtest_e_softdelete (
id integer identity(1,1) not null,
@@ -162,6 +159,9 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
+create unique nonclustered index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) where indextest2 is not null;
+create unique nonclustered index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) where indextest6 is not null;
+alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.1.sql
index bd340a266..225a2041c 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.1.sql
@@ -1,4 +1,16 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+IF OBJECT_ID('fk_migtest_fk_cascade_one_id', 'F') IS NOT NULL alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
+IF OBJECT_ID('fk_migtest_fk_set_null_one_id', 'F') IS NOT NULL alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
+IF OBJECT_ID('ck_migtest_e_basic_status', 'C') IS NOT NULL alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
+IF OBJECT_ID('ck_migtest_e_basic_status2', 'C') IS NOT NULL alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_indextest2') drop index uq_migtest_e_basic_indextest2 ON migtest_e_basic;
+IF OBJECT_ID('uq_migtest_e_basic_indextest2', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_indextest6') drop index uq_migtest_e_basic_indextest6 ON migtest_e_basic;
+IF OBJECT_ID('uq_migtest_e_basic_indextest6', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+IF OBJECT_ID('ck_migtest_e_enum_test_status', 'C') IS NOT NULL alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
+IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest1') drop index ix_migtest_e_basic_indextest1 ON migtest_e_basic;
+IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest5') drop index ix_migtest_e_basic_indextest5 ON migtest_e_basic;
-- apply changes
create table migtest_e_user (
id integer identity(1,1) not null,
@@ -22,53 +34,21 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add one_key integer;
-alter table migtest_ckey_detail add two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key);
-alter table migtest_ckey_parent add assoc_id integer;
-IF OBJECT_ID('fk_migtest_fk_cascade_one_id', 'F') IS NOT NULL alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id);
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id);
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id);
-IF OBJECT_ID('fk_migtest_fk_set_null_one_id', 'F') IS NOT NULL alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
update migtest_e_basic set status = 'A' where status is null;
-IF OBJECT_ID('ck_migtest_e_basic_status', 'C') IS NOT NULL alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
EXEC usp_ebean_drop_default_constraint migtest_e_basic, status;
alter table migtest_e_basic alter column status varchar(1) not null;
alter table migtest_e_basic add default 'A' for status;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-IF OBJECT_ID('ck_migtest_e_basic_status2', 'C') IS NOT NULL alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
EXEC usp_ebean_drop_default_constraint migtest_e_basic, status2;
alter table migtest_e_basic alter column status2 varchar(127);
-- rename all collisions;
-create unique nonclustered index uq_migtest_e_basic_description on migtest_e_basic(description) where description is not null;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id);
alter table migtest_e_basic alter column user_id integer;
-alter table migtest_e_basic add new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add new_boolean_field bit default 1 not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add new_boolean_field2 bit default 1 not null;
-alter table migtest_e_basic add progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add new_integer integer default 42 not null;
-
-IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_indextest2') drop index uq_migtest_e_basic_indextest2 ON migtest_e_basic;
-IF OBJECT_ID('uq_migtest_e_basic_indextest2', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_indextest6') drop index uq_migtest_e_basic_indextest6 ON migtest_e_basic;
-IF OBJECT_ID('uq_migtest_e_basic_indextest6', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-create unique nonclustered index uq_migtest_e_basic_status_indextest1 on migtest_e_basic(status,indextest1) where indextest1 is not null;
-create unique nonclustered index uq_migtest_e_basic_name on migtest_e_basic(name) where name is not null;
-create unique nonclustered index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4) where indextest4 is not null;
-create unique nonclustered index uq_migtest_e_basic_indextest5 on migtest_e_basic(indextest5) where indextest5 is not null;
-IF OBJECT_ID('ck_migtest_e_enum_test_status', 'C') IS NOT NULL alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
alter table migtest_e_history alter column test_string numeric(19);
-- NOTE: table has @History - special migration may be necessary
@@ -76,12 +56,8 @@ update migtest_e_history2 set test_string = 'unknown' where test_string is null;
EXEC usp_ebean_drop_default_constraint migtest_e_history2, test_string;
alter table migtest_e_history2 alter column test_string varchar(255) not null;
alter table migtest_e_history2 add default 'unknown' for test_string;
-alter table migtest_e_history2 add test_string2 varchar(255);
-alter table migtest_e_history2 add test_string3 varchar(255) default 'unknown' not null;
-alter table migtest_e_history2 add new_column varchar(20);
alter table migtest_e_history4 alter column test_number numeric(19);
-alter table migtest_e_history5 add test_boolean bit default 0 not null;
-- NOTE: table has @History - special migration may be necessary
@@ -90,14 +66,34 @@ EXEC usp_ebean_drop_default_constraint migtest_e_history6, test_number1;
alter table migtest_e_history6 alter column test_number1 integer not null;
alter table migtest_e_history6 add default 42 for test_number1;
alter table migtest_e_history6 alter column test_number2 integer;
+
+
+alter table migtest_ckey_detail add one_key integer;
+alter table migtest_ckey_detail add two_key varchar(127);
+alter table migtest_ckey_parent add assoc_id integer;
+alter table migtest_e_basic add new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add new_boolean_field bit default 1 not null;
+alter table migtest_e_basic add new_boolean_field2 bit default 1 not null;
+alter table migtest_e_basic add progress integer default 0 not null;
+alter table migtest_e_basic add new_integer integer default 42 not null;
+alter table migtest_e_history2 add test_string2 varchar(255);
+alter table migtest_e_history2 add test_string3 varchar(255) default 'unknown' not null;
+alter table migtest_e_history2 add new_column varchar(20);
+alter table migtest_e_history5 add test_boolean bit default 0 not null;
alter table migtest_e_softdelete add deleted bit default 0 not null;
-
alter table migtest_oto_child add master_id numeric(19);
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+create unique nonclustered index uq_migtest_e_basic_description on migtest_e_basic(description) where description is not null;
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+create unique nonclustered index uq_migtest_e_basic_status_indextest1 on migtest_e_basic(status,indextest1) where indextest1 is not null;
+create unique nonclustered index uq_migtest_e_basic_name on migtest_e_basic(name) where name is not null;
+create unique nonclustered index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4) where indextest4 is not null;
+create unique nonclustered index uq_migtest_e_basic_indextest5 on migtest_e_basic(indextest5) where indextest5 is not null;
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest1') drop index ix_migtest_e_basic_indextest1 ON migtest_e_basic;
-IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest5') drop index ix_migtest_e_basic_indextest5 ON migtest_e_basic;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id);
@@ -113,9 +109,15 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id);
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key);
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id);
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id);
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id);
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id);
alter table migtest_e_history
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.2__dropsFor_1.1.sql
index a49969d1e..29cff2d18 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.2__dropsFor_1.1.sql
@@ -12,5 +12,5 @@ EXEC usp_ebean_drop_column migtest_e_history2, obsolete_string1;
EXEC usp_ebean_drop_column migtest_e_history2, obsolete_string2;
-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;
+IF OBJECT_ID('migtest_e_ref', 'U') IS NOT NULL drop table migtest_e_ref;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.3.sql
index 7915d515c..3f7229989 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.3.sql
@@ -1,43 +1,15 @@
-- Migrationscripts for ebean unittest
--- apply changes
-create table migtest_e_ref (
- id integer identity(1,1) not null,
- name varchar(127) not null,
- constraint pk_migtest_e_ref primary key (id)
-);
-alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
-
+-- drop dependencies
IF OBJECT_ID('fk_migtest_ckey_detail_parent', 'F') IS NOT NULL alter table migtest_ckey_detail drop constraint fk_migtest_ckey_detail_parent;
IF OBJECT_ID('fk_migtest_fk_cascade_one_id', 'F') IS NOT NULL alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
IF OBJECT_ID('fk_migtest_fk_none_one_id', 'F') IS NOT NULL alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
IF OBJECT_ID('fk_migtest_fk_none_via_join_one_id', 'F') IS NOT NULL alter table migtest_fk_none_via_join drop constraint fk_migtest_fk_none_via_join_one_id;
IF OBJECT_ID('fk_migtest_fk_set_null_one_id', 'F') IS NOT NULL alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
IF OBJECT_ID('ck_migtest_e_basic_status', 'C') IS NOT NULL alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
-EXEC usp_ebean_drop_default_constraint migtest_e_basic, status;
-alter table migtest_e_basic alter column status varchar(1);
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
-
-update migtest_e_basic set status2 = 'N' where status2 is null;
IF OBJECT_ID('ck_migtest_e_basic_status2', 'C') IS NOT NULL alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
-EXEC usp_ebean_drop_default_constraint migtest_e_basic, status2;
-alter table migtest_e_basic alter column status2 varchar(1) not null;
-alter table migtest_e_basic add default 'N' for status2;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_description') drop index uq_migtest_e_basic_description ON migtest_e_basic;
IF OBJECT_ID('uq_migtest_e_basic_description', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
IF OBJECT_ID('fk_migtest_e_basic_user_id', 'F') IS NOT NULL alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
-EXEC usp_ebean_drop_default_constraint migtest_e_basic, user_id;
-alter table migtest_e_basic alter column user_id integer not null;
-alter table migtest_e_basic add default 23 for user_id;
-alter table migtest_e_basic add description_file image;
-alter table migtest_e_basic add old_boolean bit default 0 not null;
-alter table migtest_e_basic add old_boolean2 bit;
-alter table migtest_e_basic add eref_id integer;
-
IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_status_indextest1') drop index uq_migtest_e_basic_status_indextest1 ON migtest_e_basic;
IF OBJECT_ID('uq_migtest_e_basic_status_indextest1', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_name') drop index uq_migtest_e_basic_name ON migtest_e_basic;
@@ -46,14 +18,31 @@ IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_b
IF OBJECT_ID('uq_migtest_e_basic_indextest4', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_indextest5') drop index uq_migtest_e_basic_indextest5 ON migtest_e_basic;
IF OBJECT_ID('uq_migtest_e_basic_indextest5', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-create unique nonclustered index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) where indextest2 is not null;
-create unique nonclustered index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) where indextest6 is not null;
IF OBJECT_ID('ck_migtest_e_enum_test_status', 'C') IS NOT NULL alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest3') drop index ix_migtest_e_basic_indextest3 ON migtest_e_basic;
+IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest6') drop index ix_migtest_e_basic_indextest6 ON migtest_e_basic;
+-- apply changes
+create table migtest_e_ref (
+ id integer identity(1,1) not null,
+ name varchar(127) not null,
+ constraint pk_migtest_e_ref primary key (id)
+);
+
+EXEC usp_ebean_drop_default_constraint migtest_e_basic, status;
+alter table migtest_e_basic alter column status varchar(1);
+
+update migtest_e_basic set status2 = 'N' where status2 is null;
+EXEC usp_ebean_drop_default_constraint migtest_e_basic, status2;
+alter table migtest_e_basic alter column status2 varchar(1) not null;
+alter table migtest_e_basic add default 'N' for status2;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+EXEC usp_ebean_drop_default_constraint migtest_e_basic, user_id;
+alter table migtest_e_basic alter column user_id integer not null;
+alter table migtest_e_basic add default 23 for user_id;
+
EXEC usp_ebean_drop_default_constraint migtest_e_history2, test_string;
alter table migtest_e_history2 alter column test_string varchar(255);
-alter table migtest_e_history2 add obsolete_string1 varchar(255);
-alter table migtest_e_history2 add obsolete_string2 varchar(255);
alter table migtest_e_history4 alter column test_number integer;
EXEC usp_ebean_drop_default_constraint migtest_e_history6, test_number1;
@@ -64,10 +53,22 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
EXEC usp_ebean_drop_default_constraint migtest_e_history6, test_number2;
alter table migtest_e_history6 alter column test_number2 integer not null;
alter table migtest_e_history6 add default 7 for test_number2;
+alter table migtest_e_basic add description_file image;
+alter table migtest_e_basic add old_boolean bit default 0 not null;
+alter table migtest_e_basic add old_boolean2 bit;
+alter table migtest_e_basic add eref_id integer;
+alter table migtest_e_history2 add obsolete_string1 varchar(255);
+alter table migtest_e_history2 add obsolete_string2 varchar(255);
+alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+create unique nonclustered index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) where indextest2 is not null;
+create unique nonclustered index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) where indextest6 is not null;
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest3') drop index ix_migtest_e_basic_indextest3 ON migtest_e_basic;
-IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest6') drop index ix_migtest_e_basic_indextest6 ON migtest_e_basic;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.4__dropsFor_1.3.sql
index 3f465ec78..43159ecc0 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/1.4__dropsFor_1.3.sql
@@ -28,8 +28,8 @@ EXEC usp_ebean_drop_column migtest_e_softdelete, deleted;
EXEC usp_ebean_drop_column migtest_oto_child, master_id;
-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;
+IF OBJECT_ID('migtest_e_user', 'U') IS NOT NULL drop table migtest_e_user;
IF OBJECT_ID('migtest_mtm_c_migtest_mtm_m', 'U') IS NOT NULL drop table migtest_mtm_c_migtest_mtm_m;
IF OBJECT_ID('migtest_mtm_m_migtest_mtm_c', 'U') IS NOT NULL drop table migtest_mtm_m_migtest_mtm_c;
IF OBJECT_ID('migtest_mtm_m_phone_numbers', 'U') IS NOT NULL drop table migtest_mtm_m_phone_numbers;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/idx_sqlserver.migrations b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/idx_sqlserver.migrations
index 619e350d6..b3410a59f 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/idx_sqlserver.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver16/idx_sqlserver.migrations
@@ -1,8 +1,8 @@
-2122378240, I__create_procs.sql
-1983037247, 1.0__initial.sql
-1735900055, 1.1.sql
-1019731053, 1.2__dropsFor_1.1.sql
-239521374, 1.3.sql
--1335541264, 1.4__dropsFor_1.3.sql
+-1715735485, 1.0__initial.sql
+657469133, 1.1.sql
+1140908215, 1.2__dropsFor_1.1.sql
+-1997744448, 1.3.sql
+1468404025, 1.4__dropsFor_1.3.sql
1607822082, R__order_views_mssql.sql
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.0__initial.sql
index 2fa18fa18..c638aac4c 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
@@ -84,8 +84,6 @@ create table migtest_e_basic (
constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I')),
constraint pk_migtest_e_basic primary key (id)
);
-create unique nonclustered index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) where indextest2 is not null;
-create unique nonclustered index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) where indextest6 is not null;
create sequence migtest_e_basic_seq as bigint start with 1;
create table migtest_e_enum (
@@ -146,7 +144,6 @@ create table migtest_e_ref (
name nvarchar(127) not null,
constraint pk_migtest_e_ref primary key (id)
);
-alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
create sequence migtest_e_ref_seq as bigint start with 1;
create table migtest_e_softdelete (
@@ -184,6 +181,9 @@ create table migtest_oto_master (
);
create sequence migtest_oto_master_seq as bigint start with 1;
+create unique nonclustered index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) where indextest2 is not null;
+create unique nonclustered index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) where indextest6 is not null;
+alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.1.sql
index 4b142aa09..f891b635b 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.1.sql
@@ -1,4 +1,16 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+IF OBJECT_ID('fk_migtest_fk_cascade_one_id', 'F') IS NOT NULL alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
+IF OBJECT_ID('fk_migtest_fk_set_null_one_id', 'F') IS NOT NULL alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
+IF OBJECT_ID('ck_migtest_e_basic_status', 'C') IS NOT NULL alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
+IF OBJECT_ID('ck_migtest_e_basic_status2', 'C') IS NOT NULL alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
+IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_indextest2') drop index uq_migtest_e_basic_indextest2 ON migtest_e_basic;
+IF OBJECT_ID('uq_migtest_e_basic_indextest2', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_indextest6') drop index uq_migtest_e_basic_indextest6 ON migtest_e_basic;
+IF OBJECT_ID('uq_migtest_e_basic_indextest6', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+IF OBJECT_ID('ck_migtest_e_enum_test_status', 'C') IS NOT NULL alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
+IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest1') drop index ix_migtest_e_basic_indextest1 ON migtest_e_basic;
+IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest5') drop index ix_migtest_e_basic_indextest5 ON migtest_e_basic;
-- apply changes
create table migtest_e_user (
id integer not null,
@@ -23,53 +35,21 @@ create table migtest_mtm_m_phone_numbers (
value nvarchar(255) not null
);
-alter table migtest_ckey_detail add one_key integer;
-alter table migtest_ckey_detail add two_key nvarchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key);
-alter table migtest_ckey_parent add assoc_id integer;
-IF OBJECT_ID('fk_migtest_fk_cascade_one_id', 'F') IS NOT NULL alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id);
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id);
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id);
-IF OBJECT_ID('fk_migtest_fk_set_null_one_id', 'F') IS NOT NULL alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
update migtest_e_basic set status = 'A' where status is null;
-IF OBJECT_ID('ck_migtest_e_basic_status', 'C') IS NOT NULL alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
EXEC usp_ebean_drop_default_constraint migtest_e_basic, status;
alter table migtest_e_basic alter column status nvarchar(1) not null;
alter table migtest_e_basic add default 'A' for status;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-IF OBJECT_ID('ck_migtest_e_basic_status2', 'C') IS NOT NULL alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
EXEC usp_ebean_drop_default_constraint migtest_e_basic, status2;
alter table migtest_e_basic alter column status2 nvarchar(127);
-- rename all collisions;
-create unique nonclustered index uq_migtest_e_basic_description on migtest_e_basic(description) where description is not null;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id);
alter table migtest_e_basic alter column user_id integer;
-alter table migtest_e_basic add new_string_field nvarchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add new_boolean_field bit default 1 not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add new_boolean_field2 bit default 1 not null;
-alter table migtest_e_basic add progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add new_integer integer default 42 not null;
-
-IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_indextest2') drop index uq_migtest_e_basic_indextest2 ON migtest_e_basic;
-IF OBJECT_ID('uq_migtest_e_basic_indextest2', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_indextest6') drop index uq_migtest_e_basic_indextest6 ON migtest_e_basic;
-IF OBJECT_ID('uq_migtest_e_basic_indextest6', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-create unique nonclustered index uq_migtest_e_basic_status_indextest1 on migtest_e_basic(status,indextest1) where indextest1 is not null;
-create unique nonclustered index uq_migtest_e_basic_name on migtest_e_basic(name) where name is not null;
-create unique nonclustered index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4) where indextest4 is not null;
-create unique nonclustered index uq_migtest_e_basic_indextest5 on migtest_e_basic(indextest5) where indextest5 is not null;
-IF OBJECT_ID('ck_migtest_e_enum_test_status', 'C') IS NOT NULL alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
alter table migtest_e_history alter column test_string numeric(19);
-- NOTE: table has @History - special migration may be necessary
@@ -77,12 +57,8 @@ update migtest_e_history2 set test_string = 'unknown' where test_string is null;
EXEC usp_ebean_drop_default_constraint migtest_e_history2, test_string;
alter table migtest_e_history2 alter column test_string nvarchar(255) not null;
alter table migtest_e_history2 add default 'unknown' for test_string;
-alter table migtest_e_history2 add test_string2 nvarchar(255);
-alter table migtest_e_history2 add test_string3 nvarchar(255) default 'unknown' not null;
-alter table migtest_e_history2 add new_column nvarchar(20);
alter table migtest_e_history4 alter column test_number numeric(19);
-alter table migtest_e_history5 add test_boolean bit default 0 not null;
-- NOTE: table has @History - special migration may be necessary
@@ -91,14 +67,34 @@ EXEC usp_ebean_drop_default_constraint migtest_e_history6, test_number1;
alter table migtest_e_history6 alter column test_number1 integer not null;
alter table migtest_e_history6 add default 42 for test_number1;
alter table migtest_e_history6 alter column test_number2 integer;
+
+
+alter table migtest_ckey_detail add one_key integer;
+alter table migtest_ckey_detail add two_key nvarchar(127);
+alter table migtest_ckey_parent add assoc_id integer;
+alter table migtest_e_basic add new_string_field nvarchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add new_boolean_field bit default 1 not null;
+alter table migtest_e_basic add new_boolean_field2 bit default 1 not null;
+alter table migtest_e_basic add progress integer default 0 not null;
+alter table migtest_e_basic add new_integer integer default 42 not null;
+alter table migtest_e_history2 add test_string2 nvarchar(255);
+alter table migtest_e_history2 add test_string3 nvarchar(255) default 'unknown' not null;
+alter table migtest_e_history2 add new_column nvarchar(20);
+alter table migtest_e_history5 add test_boolean bit default 0 not null;
alter table migtest_e_softdelete add deleted bit default 0 not null;
-
alter table migtest_oto_child add master_id numeric(19);
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+create unique nonclustered index uq_migtest_e_basic_description on migtest_e_basic(description) where description is not null;
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+create unique nonclustered index uq_migtest_e_basic_status_indextest1 on migtest_e_basic(status,indextest1) where indextest1 is not null;
+create unique nonclustered index uq_migtest_e_basic_name on migtest_e_basic(name) where name is not null;
+create unique nonclustered index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4) where indextest4 is not null;
+create unique nonclustered index uq_migtest_e_basic_indextest5 on migtest_e_basic(indextest5) where indextest5 is not null;
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest1') drop index ix_migtest_e_basic_indextest1 ON migtest_e_basic;
-IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest5') drop index ix_migtest_e_basic_indextest5 ON migtest_e_basic;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id);
@@ -114,9 +110,15 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id);
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key);
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id);
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id);
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id);
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id);
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id);
alter table migtest_e_history
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 a49969d1e..29cff2d18 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
@@ -12,5 +12,5 @@ EXEC usp_ebean_drop_column migtest_e_history2, obsolete_string1;
EXEC usp_ebean_drop_column migtest_e_history2, obsolete_string2;
-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;
+IF OBJECT_ID('migtest_e_ref', 'U') IS NOT NULL drop table migtest_e_ref;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.3.sql
index 23dacc249..89ecc0a62 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.3.sql
@@ -1,44 +1,15 @@
-- Migrationscripts for ebean unittest
--- apply changes
-create table migtest_e_ref (
- id integer not null,
- name nvarchar(127) not null,
- constraint pk_migtest_e_ref primary key (id)
-);
-alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
-create sequence migtest_e_ref_seq as bigint start with 1;
-
+-- drop dependencies
IF OBJECT_ID('fk_migtest_ckey_detail_parent', 'F') IS NOT NULL alter table migtest_ckey_detail drop constraint fk_migtest_ckey_detail_parent;
IF OBJECT_ID('fk_migtest_fk_cascade_one_id', 'F') IS NOT NULL alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
IF OBJECT_ID('fk_migtest_fk_none_one_id', 'F') IS NOT NULL alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
IF OBJECT_ID('fk_migtest_fk_none_via_join_one_id', 'F') IS NOT NULL alter table migtest_fk_none_via_join drop constraint fk_migtest_fk_none_via_join_one_id;
IF OBJECT_ID('fk_migtest_fk_set_null_one_id', 'F') IS NOT NULL alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
IF OBJECT_ID('ck_migtest_e_basic_status', 'C') IS NOT NULL alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
-EXEC usp_ebean_drop_default_constraint migtest_e_basic, status;
-alter table migtest_e_basic alter column status nvarchar(1);
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
-
-update migtest_e_basic set status2 = 'N' where status2 is null;
IF OBJECT_ID('ck_migtest_e_basic_status2', 'C') IS NOT NULL alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
-EXEC usp_ebean_drop_default_constraint migtest_e_basic, status2;
-alter table migtest_e_basic alter column status2 nvarchar(1) not null;
-alter table migtest_e_basic add default 'N' for status2;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_description') drop index uq_migtest_e_basic_description ON migtest_e_basic;
IF OBJECT_ID('uq_migtest_e_basic_description', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
IF OBJECT_ID('fk_migtest_e_basic_user_id', 'F') IS NOT NULL alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
-EXEC usp_ebean_drop_default_constraint migtest_e_basic, user_id;
-alter table migtest_e_basic alter column user_id integer not null;
-alter table migtest_e_basic add default 23 for user_id;
-alter table migtest_e_basic add description_file image;
-alter table migtest_e_basic add old_boolean bit default 0 not null;
-alter table migtest_e_basic add old_boolean2 bit;
-alter table migtest_e_basic add eref_id integer;
-
IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_status_indextest1') drop index uq_migtest_e_basic_status_indextest1 ON migtest_e_basic;
IF OBJECT_ID('uq_migtest_e_basic_status_indextest1', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_name') drop index uq_migtest_e_basic_name ON migtest_e_basic;
@@ -47,14 +18,32 @@ IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_b
IF OBJECT_ID('uq_migtest_e_basic_indextest4', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'uq_migtest_e_basic_indextest5') drop index uq_migtest_e_basic_indextest5 ON migtest_e_basic;
IF OBJECT_ID('uq_migtest_e_basic_indextest5', 'UQ') IS NOT NULL alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-create unique nonclustered index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) where indextest2 is not null;
-create unique nonclustered index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) where indextest6 is not null;
IF OBJECT_ID('ck_migtest_e_enum_test_status', 'C') IS NOT NULL alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest3') drop index ix_migtest_e_basic_indextest3 ON migtest_e_basic;
+IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest6') drop index ix_migtest_e_basic_indextest6 ON migtest_e_basic;
+-- apply changes
+create table migtest_e_ref (
+ id integer not null,
+ name nvarchar(127) not null,
+ constraint pk_migtest_e_ref primary key (id)
+);
+create sequence migtest_e_ref_seq as bigint start with 1;
+
+EXEC usp_ebean_drop_default_constraint migtest_e_basic, status;
+alter table migtest_e_basic alter column status nvarchar(1);
+
+update migtest_e_basic set status2 = 'N' where status2 is null;
+EXEC usp_ebean_drop_default_constraint migtest_e_basic, status2;
+alter table migtest_e_basic alter column status2 nvarchar(1) not null;
+alter table migtest_e_basic add default 'N' for status2;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+EXEC usp_ebean_drop_default_constraint migtest_e_basic, user_id;
+alter table migtest_e_basic alter column user_id integer not null;
+alter table migtest_e_basic add default 23 for user_id;
+
EXEC usp_ebean_drop_default_constraint migtest_e_history2, test_string;
alter table migtest_e_history2 alter column test_string nvarchar(255);
-alter table migtest_e_history2 add obsolete_string1 nvarchar(255);
-alter table migtest_e_history2 add obsolete_string2 nvarchar(255);
alter table migtest_e_history4 alter column test_number integer;
EXEC usp_ebean_drop_default_constraint migtest_e_history6, test_number1;
@@ -65,10 +54,22 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
EXEC usp_ebean_drop_default_constraint migtest_e_history6, test_number2;
alter table migtest_e_history6 alter column test_number2 integer not null;
alter table migtest_e_history6 add default 7 for test_number2;
+alter table migtest_e_basic add description_file image;
+alter table migtest_e_basic add old_boolean bit default 0 not null;
+alter table migtest_e_basic add old_boolean2 bit;
+alter table migtest_e_basic add eref_id integer;
+alter table migtest_e_history2 add obsolete_string1 nvarchar(255);
+alter table migtest_e_history2 add obsolete_string2 nvarchar(255);
+alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name);
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+create unique nonclustered index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) where indextest2 is not null;
+create unique nonclustered index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) where indextest6 is not null;
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest3') drop index ix_migtest_e_basic_indextest3 ON migtest_e_basic;
-IF EXISTS (SELECT name FROM sys.indexes WHERE object_id = OBJECT_ID('migtest_e_basic','U') AND name = 'ix_migtest_e_basic_indextest6') drop index ix_migtest_e_basic_indextest6 ON migtest_e_basic;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id);
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.4__dropsFor_1.3.sql
index 3f465ec78..43159ecc0 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/1.4__dropsFor_1.3.sql
@@ -28,8 +28,8 @@ EXEC usp_ebean_drop_column migtest_e_softdelete, deleted;
EXEC usp_ebean_drop_column migtest_oto_child, master_id;
-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;
+IF OBJECT_ID('migtest_e_user', 'U') IS NOT NULL drop table migtest_e_user;
IF OBJECT_ID('migtest_mtm_c_migtest_mtm_m', 'U') IS NOT NULL drop table migtest_mtm_c_migtest_mtm_m;
IF OBJECT_ID('migtest_mtm_m_migtest_mtm_c', 'U') IS NOT NULL drop table migtest_mtm_m_migtest_mtm_c;
IF OBJECT_ID('migtest_mtm_m_phone_numbers', 'U') IS NOT NULL drop table migtest_mtm_m_phone_numbers;
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 69734f2f2..1c9c36667 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/idx_sqlserver.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/sqlserver17/idx_sqlserver.migrations
@@ -1,8 +1,8 @@
-2122378240, I__create_procs.sql
--813787447, 1.0__initial.sql
--925841767, 1.1.sql
-1019731053, 1.2__dropsFor_1.1.sql
--1858208, 1.3.sql
--1335541264, 1.4__dropsFor_1.3.sql
+2038422044, 1.0__initial.sql
+137958256, 1.1.sql
+1140908215, 1.2__dropsFor_1.1.sql
+1570214773, 1.3.sql
+1468404025, 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 88e5ba9cf..9799b4e3f 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
@@ -99,24 +99,28 @@ create table migtest_e_history2 (
obsolete_string2 varchar(255),
constraint pk_migtest_e_history2 primary key (id)
);
+alter table migtest_e_history2 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_history3 (
id integer generated by default as identity not null,
test_string varchar(255),
constraint pk_migtest_e_history3 primary key (id)
);
+alter table migtest_e_history3 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_history4 (
id integer generated by default as identity not null,
test_number integer,
constraint pk_migtest_e_history4 primary key (id)
);
+alter table migtest_e_history4 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_history5 (
id integer generated by default as identity not null,
test_number integer,
constraint pk_migtest_e_history5 primary key (id)
);
+alter table migtest_e_history5 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_history6 (
id integer generated by default as identity not null,
@@ -124,6 +128,7 @@ create table migtest_e_history6 (
test_number2 integer not null,
constraint pk_migtest_e_history6 primary key (id)
);
+alter table migtest_e_history6 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
create table migtest_e_ref (
id integer generated by default as identity not null,
@@ -162,6 +167,44 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
+create table migtest_e_history2_history(
+ id integer,
+ test_string varchar(255),
+ obsolete_string1 varchar(255),
+ obsolete_string2 varchar(255),
+ sys_period tstzrange
+);
+create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
+
+create table migtest_e_history3_history(
+ id integer,
+ test_string varchar(255),
+ sys_period tstzrange
+);
+create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
+
+create table migtest_e_history4_history(
+ id integer,
+ test_number integer,
+ sys_period tstzrange
+);
+create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history;
+
+create table migtest_e_history5_history(
+ id integer,
+ test_number integer,
+ sys_period tstzrange
+);
+create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
+
+create table migtest_e_history6_history(
+ id integer,
+ test_number1 integer,
+ test_number2 integer,
+ sys_period tstzrange
+);
+create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history;
+
create index if not exists ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index if not exists ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id);
@@ -173,49 +216,6 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
-alter table migtest_e_history2 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history2_history(
- id integer,
- test_string varchar(255),
- obsolete_string1 varchar(255),
- obsolete_string2 varchar(255),
- sys_period tstzrange
-);
-create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
-
-alter table migtest_e_history3 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history3_history(
- id integer,
- test_string varchar(255),
- sys_period tstzrange
-);
-create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
-
-alter table migtest_e_history4 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history4_history(
- id integer,
- test_number integer,
- sys_period tstzrange
-);
-create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history;
-
-alter table migtest_e_history5 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history5_history(
- id integer,
- test_number integer,
- sys_period tstzrange
-);
-create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
-
-alter table migtest_e_history6 add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history6_history(
- id integer,
- test_number1 integer,
- test_number2 integer,
- sys_period tstzrange
-);
-create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history;
-
create or replace function migtest_e_history2_history_version() returns trigger as $$
declare
lowerTs timestamptz;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.1.sql
index 7a911b54c..32f7d2535 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.1.sql
@@ -1,10 +1,18 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest1;
+drop index if exists ix_migtest_e_basic_indextest5;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
create table migtest_e_user (
id integer generated by default as identity not null,
@@ -28,57 +36,43 @@ create table migtest_mtm_m_phone_numbers (
value varchar(255) not null
);
-alter table migtest_ckey_detail add column one_key integer;
-alter table migtest_ckey_detail add column two_key varchar(127);
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add column assoc_id integer;
-alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status set default 'A';
-alter table migtest_e_basic alter column status set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
alter table migtest_e_basic alter column status2 type varchar(127) using status2::varchar(127);
-alter table migtest_e_basic alter column status2 drop default;
-alter table migtest_e_basic alter column status2 drop not null;
-- rename all collisions;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
-alter table migtest_e_basic alter column user_id drop not null;
-alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
-alter table migtest_e_basic add column new_boolean_field boolean default true not null;
-update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
-alter table migtest_e_basic add column progress integer default 0 not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add column new_integer integer default 42 not null;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-comment on column migtest_e_history.test_string is 'Column altered to long now';
+alter table migtest_e_history add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
alter table migtest_e_history alter column test_string type bigint using test_string::bigint;
-comment on table migtest_e_history is 'We have history now';
-- NOTE: table has @History - special migration may be necessary
update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+alter table migtest_e_history4 alter column test_number type bigint using test_number::bigint;
+alter table migtest_e_history4_history alter column test_number type bigint using test_number::bigint;
+
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add column one_key integer;
+alter table migtest_ckey_detail add column two_key varchar(127);
+alter table migtest_ckey_parent add column assoc_id integer;
+alter table migtest_e_basic alter column status set default 'A';
+alter table migtest_e_basic alter column status set not null;
+alter table migtest_e_basic alter column status2 drop default;
+alter table migtest_e_basic alter column status2 drop not null;
+alter table migtest_e_basic alter column user_id drop not null;
+alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
+alter table migtest_e_basic add column new_boolean_field boolean default true not null;
+alter table migtest_e_basic add column new_boolean_field2 boolean default true not null;
+alter table migtest_e_basic add column progress integer default 0 not null;
+alter table migtest_e_basic add column new_integer integer default 42 not null;
alter table migtest_e_history2 alter column test_string set default 'unknown';
alter table migtest_e_history2 alter column test_string set not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
@@ -87,26 +81,34 @@ alter table migtest_e_history2 add column new_column varchar(20);
alter table migtest_e_history2_history add column test_string2 varchar(255);
alter table migtest_e_history2_history add column test_string3 varchar(255) default 'unknown';
alter table migtest_e_history2_history add column new_column varchar(20);
-
-alter table migtest_e_history4 alter column test_number type bigint using test_number::bigint;
-alter table migtest_e_history4_history alter column test_number type bigint using test_number::bigint;
alter table migtest_e_history5 add column test_boolean boolean default false not null;
alter table migtest_e_history5_history add column test_boolean boolean default false;
-
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
alter table migtest_e_history6 alter column test_number1 set default 42;
alter table migtest_e_history6 alter column test_number1 set not null;
alter table migtest_e_history6 alter column test_number2 drop not null;
alter table migtest_e_softdelete add column deleted boolean default false not null;
-
alter table migtest_oto_child add column master_id bigint;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_description unique (description);
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_basic set new_boolean_field = old_boolean;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_status_indextest1 unique (status,indextest1);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
+create table migtest_e_history_history(
+ id integer,
+ test_string bigint,
+ sys_period tstzrange
+);
+create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
+
+comment on column migtest_e_history.test_string is 'Column altered to long now';
+comment on table migtest_e_history is 'We have history now';
create index if not exists ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index if not exists ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-drop index if exists ix_migtest_e_basic_indextest1;
-drop index if exists ix_migtest_e_basic_indextest5;
create index ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c on migtest_mtm_c_migtest_mtm_m (migtest_mtm_c_id);
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
@@ -122,19 +124,17 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
create index ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id on migtest_mtm_m_phone_numbers (migtest_mtm_m_id);
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
create index ix_migtest_ckey_parent_assoc_id on migtest_ckey_parent (assoc_id);
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
-alter table migtest_e_history add column sys_period tstzrange not null default tstzrange(current_timestamp, null);
-create table migtest_e_history_history(
- id integer,
- test_string bigint,
- sys_period tstzrange
-);
-create view migtest_e_history_with_history as select * from migtest_e_history union all select * from migtest_e_history_history;
-
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history;
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 35a7e2b4a..57928b00c 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
@@ -1,24 +1,17 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
drop view if exists migtest_e_history2_with_history;
-
-- apply changes
-alter table migtest_e_basic drop column description_file;
-
-alter table migtest_e_basic drop column old_boolean;
-
-alter table migtest_e_basic drop column old_boolean2;
-
-alter table migtest_e_basic drop column eref_id;
-
-alter table migtest_e_history2 drop column obsolete_string1;
-alter table migtest_e_history2_history drop column obsolete_string1;
-
-alter table migtest_e_history2 drop column obsolete_string2;
-alter table migtest_e_history2_history drop column obsolete_string2;
-
-drop table if exists migtest_e_ref cascade;
drop sequence if exists migtest_e_ref_seq;
+alter table migtest_e_basic drop column description_file;
+alter table migtest_e_basic drop column old_boolean;
+alter table migtest_e_basic drop column old_boolean2;
+alter table migtest_e_basic drop column eref_id;
+alter table migtest_e_history2 drop column obsolete_string1;
+alter table migtest_e_history2 drop column obsolete_string2;
+alter table migtest_e_history2_history drop column obsolete_string1;
+alter table migtest_e_history2_history drop column obsolete_string2;
+drop table if exists migtest_e_ref cascade;
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
-- changes: [drop obsolete_string1, drop obsolete_string2]
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.3.sql
index 5a5ef8226..fd9fbec2f 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.3.sql
@@ -1,9 +1,24 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
+alter table if exists migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
+alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
+alter table if exists migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
+alter table if exists migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
+alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
+alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
+alter table if exists migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
+alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
+alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
+drop index if exists ix_migtest_e_basic_indextest3;
+drop index if exists ix_migtest_e_basic_indextest6;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history3_with_history;
drop view if exists migtest_e_history4_with_history;
-
-- apply changes
create table migtest_e_ref (
id integer generated by default as identity not null,
@@ -12,65 +27,49 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
-alter table if exists migtest_ckey_detail drop constraint if exists fk_migtest_ckey_detail_parent;
-alter table if exists migtest_fk_cascade drop constraint if exists fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
-alter table if exists migtest_fk_none drop constraint if exists fk_migtest_fk_none_one_id;
-alter table if exists migtest_fk_none_via_join drop constraint if exists fk_migtest_fk_none_via_join_one_id;
-alter table if exists migtest_fk_set_null drop constraint if exists fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status;
-alter table migtest_e_basic alter column status drop default;
-alter table migtest_e_basic alter column status drop not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
-alter table migtest_e_basic drop constraint if exists ck_migtest_e_basic_status2;
alter table migtest_e_basic alter column status2 type varchar(1) using status2::varchar(1);
-alter table migtest_e_basic alter column status2 set default 'N';
-alter table migtest_e_basic alter column status2 set not null;
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
update migtest_e_basic set user_id = 23 where user_id is null;
-alter table if exists migtest_e_basic drop constraint if exists fk_migtest_e_basic_user_id;
+
+
+alter table migtest_e_history4 alter column test_number type integer using test_number::integer;
+alter table migtest_e_history4_history alter column test_number type integer using test_number::integer;
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter column status drop default;
+alter table migtest_e_basic alter column status drop not null;
+alter table migtest_e_basic alter column status2 set default 'N';
+alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file bytea;
alter table migtest_e_basic add column old_boolean boolean default false not null;
alter table migtest_e_basic add column old_boolean2 boolean;
alter table migtest_e_basic add column eref_id integer;
-
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_status_indextest1;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
-alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
-alter table migtest_e_enum drop constraint if exists ck_migtest_e_enum_test_status;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
alter table migtest_e_history2 alter column test_string drop default;
alter table migtest_e_history2 alter column test_string drop not null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
alter table migtest_e_history2_history add column obsolete_string1 varchar(255);
alter table migtest_e_history2_history add column obsolete_string2 varchar(255);
-
-alter table migtest_e_history4 alter column test_number type integer using test_number::integer;
-alter table migtest_e_history4_history alter column test_number type integer using test_number::integer;
alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 drop not null;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_history6 alter column test_number2 set default 7;
alter table migtest_e_history6 alter column test_number2 set not null;
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
+alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
create index if not exists ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index if not exists ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-drop index if exists ix_migtest_e_basic_indextest3;
-drop index if exists ix_migtest_e_basic_indextest6;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.4__dropsFor_1.3.sql
index 4524d4a40..304ee5057 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/1.4__dropsFor_1.3.sql
@@ -4,47 +4,32 @@ drop trigger if exists migtest_e_history_history_upd on migtest_e_history cascad
drop function if exists migtest_e_history_history_version();
drop view migtest_e_history_with_history;
-alter table migtest_e_history drop column sys_period;
drop table migtest_e_history_history;
drop view if exists migtest_e_history2_with_history;
drop view if exists migtest_e_history5_with_history;
-
-- apply changes
+drop sequence if exists migtest_e_user_seq;
alter table migtest_ckey_detail drop column one_key;
-
alter table migtest_ckey_detail drop column two_key;
-
alter table migtest_ckey_parent drop column assoc_id;
-
alter table migtest_e_basic drop column new_string_field;
-
alter table migtest_e_basic drop column new_boolean_field;
-
alter table migtest_e_basic drop column new_boolean_field2;
-
alter table migtest_e_basic drop column progress;
-
alter table migtest_e_basic drop column new_integer;
-
+alter table migtest_e_history drop column sys_period;
alter table migtest_e_history2 drop column test_string2;
-alter table migtest_e_history2_history drop column test_string2;
-
alter table migtest_e_history2 drop column test_string3;
-alter table migtest_e_history2_history drop column test_string3;
-
alter table migtest_e_history2 drop column new_column;
+alter table migtest_e_history2_history drop column test_string2;
+alter table migtest_e_history2_history drop column test_string3;
alter table migtest_e_history2_history drop column new_column;
-
alter table migtest_e_history5 drop column test_boolean;
alter table migtest_e_history5_history drop column test_boolean;
-
alter table migtest_e_softdelete drop column deleted;
-
alter table migtest_oto_child drop column master_id;
-
drop table if exists migtest_e_user cascade;
-drop sequence if exists migtest_e_user_seq;
drop table if exists migtest_mtm_c_migtest_mtm_m cascade;
drop table if exists migtest_mtm_m_migtest_mtm_c cascade;
drop table if exists migtest_mtm_m_phone_numbers cascade;
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 0d28a6487..50390783f 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/idx_yugabyte.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/yugabyte/idx_yugabyte.migrations
@@ -1,7 +1,7 @@
-78788203, 1.0__initial.sql
-1985413053, 1.1.sql
-1360771849, 1.2__dropsFor_1.1.sql
--1862150074, 1.3.sql
--1991941691, 1.4__dropsFor_1.3.sql
+-1438254935, 1.0__initial.sql
+-47140703, 1.1.sql
+713998356, 1.2__dropsFor_1.1.sql
+593308024, 1.3.sql
+2043551312, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
From 790147e42d46e5fa8eb90246439af8ac6349f2fc Mon Sep 17 00:00:00 2001
From: Roland Praml
Date: Tue, 8 Mar 2022 17:28:39 +0100
Subject: [PATCH 3/4] Reviewed DDL changes - all changes are plausible
---
.../migrationtest/dbmigration/hana/1.1.sql | 226 +++++++++---------
.../dbmigration/hana/1.2__dropsFor_1.1.sql | 16 +-
.../migrationtest/dbmigration/hana/1.3.sql | 121 +++++-----
.../dbmigration/hana/1.4__dropsFor_1.3.sql | 37 +--
.../dbmigration/hana/idx_hana.migrations | 8 +-
5 files changed, 192 insertions(+), 216 deletions(-)
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.1.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.1.sql
index 0379b11ee..6e55680e3 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.1.sql
@@ -1,4 +1,56 @@
-- Migrationscripts for ebean unittest
+-- drop dependencies
+alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
+alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
+delimiter $$
+do
+begin
+declare exit handler for sql_error_code 397 begin end;
+exec 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status';
+end;
+$$;
+delimiter $$
+do
+begin
+declare exit handler for sql_error_code 397 begin end;
+exec 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2';
+end;
+$$;
+delimiter $$
+do
+begin
+declare exit handler for sql_error_code 397 begin end;
+exec 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2';
+end;
+$$;
+delimiter $$
+do
+begin
+declare exit handler for sql_error_code 397 begin end;
+exec 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6';
+end;
+$$;
+delimiter $$
+do
+begin
+declare exit handler for sql_error_code 397 begin end;
+exec 'alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status';
+end;
+$$;
+delimiter $$
+do
+begin
+declare exit handler for sql_error_code 261 begin end;
+exec 'drop index ix_migtest_e_basic_indextest1';
+end;
+$$;
+delimiter $$
+do
+begin
+declare exit handler for sql_error_code 261 begin end;
+exec 'drop index ix_migtest_e_basic_indextest5';
+end;
+$$;
-- apply changes
create column table migtest_e_user (
id integer generated by default as identity not null,
@@ -22,139 +74,79 @@ create column table migtest_mtm_m_phone_numbers (
value nvarchar(255) not null
);
-alter table migtest_ckey_detail add ( one_key integer);
-alter table migtest_ckey_detail add ( two_key nvarchar(127));
-alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-alter table migtest_ckey_parent add ( assoc_id integer);
-alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
-alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
update migtest_e_basic set status = 'A' where status is null;
-delimiter $$
-do
-begin
-declare exit handler for sql_error_code 397 begin end;
-exec 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status';
-end;
-$$;
-alter table migtest_e_basic alter ( status nvarchar(1) default 'A' not null);
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
-delimiter $$
-do
-begin
-declare exit handler for sql_error_code 397 begin end;
-exec 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2';
-end;
-$$;
-alter table migtest_e_basic alter ( status2 nvarchar(127) default null);
-- rename all collisions;
--- cannot create unique index "uq_migtest_e_basic_description" on table "migtest_e_basic" with nullable columns;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
-alter table migtest_e_basic alter ( user_id integer);
-alter table migtest_e_basic add ( new_string_field nvarchar(255) default 'foo''bar' not null);
-alter table migtest_e_basic add ( new_boolean_field boolean default true not null);
+
+alter table migtest_e_history2 drop system versioning;
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history2 set test_string = 'unknown' where test_string is null;
+
+alter table migtest_e_history3 drop system versioning;
+alter table migtest_e_history4 drop system versioning;
+alter table migtest_e_history5 drop system versioning;
+
+alter table migtest_e_history6 drop system versioning;
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
+
+
+alter table migtest_ckey_detail add (one_key integer,
+ two_key nvarchar(127));
+alter table migtest_ckey_parent add (assoc_id integer);
+alter table migtest_e_basic alter (status nvarchar(1) default 'A' not null,
+ status2 nvarchar(127) default null,
+ user_id integer);
+alter table migtest_e_basic add (new_string_field nvarchar(255) default 'foo''bar' not null,
+ new_boolean_field boolean default true not null,
+ new_boolean_field2 boolean default true not null,
+ progress integer default 0 not null,
+ new_integer integer default 42 not null);
+alter table migtest_e_history alter (test_string bigint);
+alter table migtest_e_history2 alter (test_string nvarchar(255) default 'unknown' not null);
+alter table migtest_e_history2 add (test_string2 nvarchar(255),
+ test_string3 nvarchar(255) default 'unknown' not null,
+ new_column nvarchar(20));
+alter table migtest_e_history2_history alter (test_string nvarchar(255) default 'unknown' not null);
+alter table migtest_e_history2_history add (test_string2 nvarchar(255),
+ test_string3 nvarchar(255) default 'unknown',
+ new_column nvarchar(20));
+alter table migtest_e_history4 alter (test_number bigint);
+alter table migtest_e_history4_history alter (test_number bigint);
+alter table migtest_e_history5 add (test_boolean boolean default false not null);
+alter table migtest_e_history5_history add (test_boolean boolean default false);
+alter table migtest_e_history6 alter (test_number1 integer default 42 not null,
+ test_number2 integer);
+alter table migtest_e_history6_history alter (test_number1 integer default 42 not null,
+ test_number2 integer);
+alter table migtest_e_softdelete add (deleted boolean default false not null);
+alter table migtest_oto_child add (master_id bigint);
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
+-- cannot create unique index "uq_migtest_e_basic_description" on table "migtest_e_basic" with nullable columns;
+-- NOTE: table has @History - special migration may be necessary
update migtest_e_basic set new_boolean_field = old_boolean;
-alter table migtest_e_basic add ( new_boolean_field2 boolean default true not null);
-alter table migtest_e_basic add ( progress integer default 0 not null);
alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
-alter table migtest_e_basic add ( new_integer integer default 42 not null);
-
-delimiter $$
-do
-begin
-declare exit handler for sql_error_code 397 begin end;
-exec 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2';
-end;
-$$;
-delimiter $$
-do
-begin
-declare exit handler for sql_error_code 397 begin end;
-exec 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6';
-end;
-$$;
-- cannot create unique index "uq_migtest_e_basic_status_indextest1" on table "migtest_e_basic" with nullable columns;
-- cannot create unique index "uq_migtest_e_basic_name" on table "migtest_e_basic" with nullable columns;
-- cannot create unique index "uq_migtest_e_basic_indextest4" on table "migtest_e_basic" with nullable columns;
-- cannot create unique index "uq_migtest_e_basic_indextest5" on table "migtest_e_basic" with nullable columns;
-delimiter $$
-do
-begin
-declare exit handler for sql_error_code 397 begin end;
-exec 'alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status';
-end;
-$$;
comment on column migtest_e_history.test_string is 'Column altered to long now';
-alter table migtest_e_history alter ( test_string bigint);
comment on table migtest_e_history is 'We have history now';
-alter table migtest_e_history2 drop system versioning /* 0 */;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history2 set test_string = 'unknown' where test_string is null;
-alter table migtest_e_history2 alter ( test_string nvarchar(255) default 'unknown' not null);
-alter table migtest_e_history2_history alter ( test_string nvarchar(255) default 'unknown' not null);
-alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated /* 1 */;
-alter table migtest_e_history2 drop system versioning /* 2 */;
-alter table migtest_e_history2 add ( test_string2 nvarchar(255));
-alter table migtest_e_history2 add ( test_string3 nvarchar(255) default 'unknown' not null);
-alter table migtest_e_history2 add ( new_column nvarchar(20));
-
-alter table migtest_e_history2_history add ( test_string2 nvarchar(255));
-alter table migtest_e_history2_history add ( test_string3 nvarchar(255) default 'unknown');
-alter table migtest_e_history2_history add ( new_column nvarchar(20));
-alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated /* 3 */;
-alter table migtest_e_history3 drop system versioning /* 4 */;
-alter table migtest_e_history3 add system versioning history table migtest_e_history3_history not validated /* 5 */;
-alter table migtest_e_history4 drop system versioning /* 6 */;
-alter table migtest_e_history4 alter ( test_number bigint);
-alter table migtest_e_history4_history alter ( test_number bigint);
-alter table migtest_e_history4 add system versioning history table migtest_e_history4_history not validated /* 7 */;
-alter table migtest_e_history5 drop system versioning /* 8 */;
-alter table migtest_e_history5 add ( test_boolean boolean default false not null);
-
-alter table migtest_e_history5_history add ( test_boolean boolean default false);
-alter table migtest_e_history5 add system versioning history table migtest_e_history5_history not validated /* 9 */;
-alter table migtest_e_history6 drop system versioning /* 10 */;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number1 = 42 where test_number1 is null;
-alter table migtest_e_history6 alter ( test_number1 integer default 42 not null);
-alter table migtest_e_history6_history alter ( test_number1 integer default 42 not null);
-alter table migtest_e_history6 add system versioning history table migtest_e_history6_history not validated /* 11 */;
-alter table migtest_e_history6 drop system versioning /* 12 */;
-alter table migtest_e_history6 alter ( test_number2 integer);
-alter table migtest_e_history6_history alter ( test_number2 integer);
-alter table migtest_e_history6 add system versioning history table migtest_e_history6_history not validated /* 13 */;
-alter table migtest_e_softdelete add ( deleted boolean default false not null);
-
-alter table migtest_oto_child add ( master_id bigint);
-
+alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated;
+alter table migtest_e_history3 add system versioning history table migtest_e_history3_history not validated;
+alter table migtest_e_history4 add system versioning history table migtest_e_history4_history not validated;
+alter table migtest_e_history5 add system versioning history table migtest_e_history5_history not validated;
+alter table migtest_e_history6 add system versioning history table migtest_e_history6_history not validated;
-- explicit index "ix_migtest_e_basic_indextest3" for single column "indextest3" of table "migtest_e_basic" is not necessary;
-- explicit index "ix_migtest_e_basic_indextest6" for single column "indextest6" of table "migtest_e_basic" is not necessary;
-delimiter $$
-do
-begin
-declare exit handler for sql_error_code 261 begin end;
-exec 'drop index ix_migtest_e_basic_indextest1';
-end;
-$$;
-delimiter $$
-do
-begin
-declare exit handler for sql_error_code 261 begin end;
-exec 'drop index ix_migtest_e_basic_indextest5';
-end;
-$$;
-- explicit index "ix_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c" for single column "migtest_mtm_c_id" of table "migtest_mtm_c_migtest_mtm_m" is not necessary;
alter table migtest_mtm_c_migtest_mtm_m add constraint fk_migtest_mtm_c_migtest_mtm_m_migtest_mtm_c foreign key (migtest_mtm_c_id) references migtest_mtm_c (id) on delete restrict on update restrict;
@@ -170,9 +162,15 @@ alter table migtest_mtm_m_migtest_mtm_c add constraint fk_migtest_mtm_m_migtest_
-- explicit index "ix_migtest_mtm_m_phone_numbers_migtest_mtm_m_id" for single column "migtest_mtm_m_id" of table "migtest_mtm_m_phone_numbers" is not necessary;
alter table migtest_mtm_m_phone_numbers add constraint fk_migtest_mtm_m_phone_numbers_migtest_mtm_m_id foreign key (migtest_mtm_m_id) references migtest_mtm_m (id) on delete restrict on update restrict;
+alter table migtest_ckey_detail add constraint fk_migtest_ckey_detail_parent foreign key (one_key,two_key) references migtest_ckey_parent (one_key,two_key) on delete restrict on update restrict;
-- explicit index "ix_migtest_ckey_parent_assoc_id" for single column "assoc_id" of table "migtest_ckey_parent" is not necessary;
alter table migtest_ckey_parent add constraint fk_migtest_ckey_parent_assoc_id foreign key (assoc_id) references migtest_ckey_assoc (id) on delete restrict on update restrict;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none add constraint fk_migtest_fk_none_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_none_via_join add constraint fk_migtest_fk_none_via_join_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete restrict on update restrict;
+alter table migtest_e_basic add constraint fk_migtest_e_basic_user_id foreign key (user_id) references migtest_e_user (id) on delete restrict on update restrict;
alter table migtest_oto_child add constraint fk_migtest_oto_child_master_id foreign key (master_id) references migtest_oto_master (id) on delete restrict on update restrict;
create column table migtest_e_history_history (
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 c50f9687c..01f71574e 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,21 +1,15 @@
-- Migrationscripts for ebean unittest
-- apply changes
+alter table migtest_e_history2 drop system versioning;
+
+
CALL usp_ebean_drop_column('migtest_e_basic', 'description_file');
-
CALL usp_ebean_drop_column('migtest_e_basic', 'old_boolean');
-
CALL usp_ebean_drop_column('migtest_e_basic', 'old_boolean2');
-
CALL usp_ebean_drop_column('migtest_e_basic', 'eref_id');
-
-alter table migtest_e_history2 drop system versioning /* 0 */;
CALL usp_ebean_drop_column('migtest_e_history2', 'obsolete_string1');
-
-CALL usp_ebean_drop_column('migtest_e_history2_history', 'obsolete_string1');
-alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated /* 1 */;
-alter table migtest_e_history2 drop system versioning /* 2 */;
CALL usp_ebean_drop_column('migtest_e_history2', 'obsolete_string2');
-
+CALL usp_ebean_drop_column('migtest_e_history2_history', 'obsolete_string1');
CALL usp_ebean_drop_column('migtest_e_history2_history', 'obsolete_string2');
-alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated /* 3 */;
+alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated;
drop table migtest_e_ref cascade;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.3.sql
index c5ec29186..cf5fcfee7 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.3.sql
@@ -1,19 +1,10 @@
-- Migrationscripts for ebean unittest
--- apply changes
-create column table migtest_e_ref (
- id integer generated by default as identity not null,
- name nvarchar(127) not null,
- constraint uq_migtest_e_ref_name unique (name),
- constraint pk_migtest_e_ref primary key (id)
-);
-
+-- drop dependencies
alter table migtest_ckey_detail drop constraint fk_migtest_ckey_detail_parent;
alter table migtest_fk_cascade drop constraint fk_migtest_fk_cascade_one_id;
-alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
alter table migtest_fk_none_via_join drop constraint fk_migtest_fk_none_via_join_one_id;
alter table migtest_fk_set_null drop constraint fk_migtest_fk_set_null_one_id;
-alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
delimiter $$
do
begin
@@ -21,10 +12,6 @@ declare exit handler for sql_error_code 397 begin end;
exec 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status';
end;
$$;
-alter table migtest_e_basic alter ( status nvarchar(1) default null);
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
-
-update migtest_e_basic set status2 = 'N' where status2 is null;
delimiter $$
do
begin
@@ -32,9 +19,6 @@ declare exit handler for sql_error_code 397 begin end;
exec 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2';
end;
$$;
-alter table migtest_e_basic alter ( status2 nclob not null);
-alter table migtest_e_basic alter ( status2 nvarchar(1) default 'N' not null);
-alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
delimiter $$
do
begin
@@ -42,15 +26,7 @@ declare exit handler for sql_error_code 397 begin end;
exec 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_description';
end;
$$;
-
-update migtest_e_basic set user_id = 23 where user_id is null;
alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
-alter table migtest_e_basic alter ( user_id integer default 23 not null);
-alter table migtest_e_basic add ( description_file blob);
-alter table migtest_e_basic add ( old_boolean boolean default false not null);
-alter table migtest_e_basic add ( old_boolean2 boolean);
-alter table migtest_e_basic add ( eref_id integer);
-
delimiter $$
do
begin
@@ -79,8 +55,6 @@ declare exit handler for sql_error_code 397 begin end;
exec 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5';
end;
$$;
--- cannot create unique index "uq_migtest_e_basic_indextest2" on table "migtest_e_basic" with nullable columns;
--- cannot create unique index "uq_migtest_e_basic_indextest6" on table "migtest_e_basic" with nullable columns;
delimiter $$
do
begin
@@ -88,41 +62,6 @@ declare exit handler for sql_error_code 397 begin end;
exec 'alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status';
end;
$$;
-alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
-comment on column migtest_e_history.test_string is '';
-comment on table migtest_e_history is '';
-alter table migtest_e_history2 drop system versioning /* 0 */;
-alter table migtest_e_history2 alter ( test_string nvarchar(255) default null);
-alter table migtest_e_history2_history alter ( test_string nvarchar(255) default null);
-alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated /* 1 */;
-alter table migtest_e_history2 drop system versioning /* 2 */;
-alter table migtest_e_history2 add ( obsolete_string1 nvarchar(255));
-alter table migtest_e_history2 add ( obsolete_string2 nvarchar(255));
-
-alter table migtest_e_history2_history add ( obsolete_string1 nvarchar(255));
-alter table migtest_e_history2_history add ( obsolete_string2 nvarchar(255));
-alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated /* 3 */;
-alter table migtest_e_history3 drop system versioning /* 4 */;
-alter table migtest_e_history3 add system versioning history table migtest_e_history3_history not validated /* 5 */;
-alter table migtest_e_history4 drop system versioning /* 6 */;
-alter table migtest_e_history4 alter ( test_number decimal );
-alter table migtest_e_history4 alter ( test_number integer);
-alter table migtest_e_history4_history alter ( test_number decimal );
-alter table migtest_e_history4_history alter ( test_number integer);
-alter table migtest_e_history4 add system versioning history table migtest_e_history4_history not validated /* 7 */;
-alter table migtest_e_history6 drop system versioning /* 8 */;
-alter table migtest_e_history6 alter ( test_number1 integer default null);
-alter table migtest_e_history6_history alter ( test_number1 integer default null);
-alter table migtest_e_history6 add system versioning history table migtest_e_history6_history not validated /* 9 */;
-alter table migtest_e_history6 drop system versioning /* 10 */;
-
--- NOTE: table has @History - special migration may be necessary
-update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
-alter table migtest_e_history6 alter ( test_number2 integer default 7 not null);
-alter table migtest_e_history6_history alter ( test_number2 integer default 7 not null);
-alter table migtest_e_history6 add system versioning history table migtest_e_history6_history not validated /* 11 */;
--- explicit index "ix_migtest_e_basic_indextest1" for single column "indextest1" of table "migtest_e_basic" is not necessary;
--- explicit index "ix_migtest_e_basic_indextest5" for single column "indextest5" of table "migtest_e_basic" is not necessary;
delimiter $$
do
begin
@@ -137,6 +76,64 @@ declare exit handler for sql_error_code 261 begin end;
exec 'drop index ix_migtest_e_basic_indextest6';
end;
$$;
+-- apply changes
+create column table migtest_e_ref (
+ id integer generated by default as identity not null,
+ name nvarchar(127) not null,
+ constraint uq_migtest_e_ref_name unique (name),
+ constraint pk_migtest_e_ref primary key (id)
+);
+
+
+update migtest_e_basic set status2 = 'N' where status2 is null;
+
+update migtest_e_basic set user_id = 23 where user_id is null;
+
+alter table migtest_e_history2 drop system versioning;
+
+alter table migtest_e_history3 drop system versioning;
+alter table migtest_e_history4 drop system versioning;
+alter table migtest_e_history6 drop system versioning;
+
+-- NOTE: table has @History - special migration may be necessary
+update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
+alter table migtest_e_basic alter (status nvarchar(1) default null,
+ status2 nclob not null);
+alter table migtest_e_basic alter (status2 nvarchar(1) default 'N' not null,
+ user_id integer default 23 not null);
+alter table migtest_e_basic add (description_file blob,
+ old_boolean boolean default false not null,
+ old_boolean2 boolean,
+ eref_id integer);
+alter table migtest_e_history2 alter (test_string nvarchar(255) default null);
+alter table migtest_e_history2 add (obsolete_string1 nvarchar(255),
+ obsolete_string2 nvarchar(255));
+alter table migtest_e_history2_history alter (test_string nvarchar(255) default null);
+alter table migtest_e_history2_history add (obsolete_string1 nvarchar(255),
+ obsolete_string2 nvarchar(255));
+alter table migtest_e_history4 alter (test_number decimal);
+alter table migtest_e_history4 alter (test_number integer);
+alter table migtest_e_history4_history alter (test_number decimal);
+alter table migtest_e_history4_history alter (test_number integer);
+alter table migtest_e_history6 alter (test_number1 integer default null,
+ test_number2 integer default 7 not null);
+alter table migtest_e_history6_history alter (test_number1 integer default null,
+ test_number2 integer default 7 not null);
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
+alter table migtest_e_basic add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
+-- cannot create unique index "uq_migtest_e_basic_indextest2" on table "migtest_e_basic" with nullable columns;
+-- cannot create unique index "uq_migtest_e_basic_indextest6" on table "migtest_e_basic" with nullable columns;
+alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
+comment on column migtest_e_history.test_string is '';
+comment on table migtest_e_history is '';
+alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated;
+alter table migtest_e_history3 add system versioning history table migtest_e_history3_history not validated;
+alter table migtest_e_history4 add system versioning history table migtest_e_history4_history not validated;
+alter table migtest_e_history6 add system versioning history table migtest_e_history6_history not validated;
+-- explicit index "ix_migtest_e_basic_indextest1" for single column "indextest1" of table "migtest_e_basic" is not necessary;
+-- explicit index "ix_migtest_e_basic_indextest5" for single column "indextest5" of table "migtest_e_basic" is not necessary;
+alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict;
+alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict;
-- explicit index "ix_migtest_e_basic_eref_id" for single column "eref_id" of table "migtest_e_basic" is not necessary;
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict;
diff --git a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.4__dropsFor_1.3.sql b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.4__dropsFor_1.3.sql
index 526dc7287..16c329132 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.4__dropsFor_1.3.sql
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/1.4__dropsFor_1.3.sql
@@ -4,48 +4,35 @@ alter table migtest_e_history drop system versioning;
alter table migtest_e_history drop period for system_time;
alter table migtest_e_history drop (sys_period_start,sys_period_end);
drop table migtest_e_history_history cascade;
-
-- apply changes
+alter table migtest_e_history2 drop system versioning;
+
+
+
+alter table migtest_e_history5 drop system versioning;
+
+
+
CALL usp_ebean_drop_column('migtest_ckey_detail', 'one_key');
-
CALL usp_ebean_drop_column('migtest_ckey_detail', 'two_key');
-
CALL usp_ebean_drop_column('migtest_ckey_parent', 'assoc_id');
-
CALL usp_ebean_drop_column('migtest_e_basic', 'new_string_field');
-
CALL usp_ebean_drop_column('migtest_e_basic', 'new_boolean_field');
-
CALL usp_ebean_drop_column('migtest_e_basic', 'new_boolean_field2');
-
CALL usp_ebean_drop_column('migtest_e_basic', 'progress');
-
CALL usp_ebean_drop_column('migtest_e_basic', 'new_integer');
-
-alter table migtest_e_history2 drop system versioning /* 0 */;
CALL usp_ebean_drop_column('migtest_e_history2', 'test_string2');
-
-CALL usp_ebean_drop_column('migtest_e_history2_history', 'test_string2');
-alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated /* 1 */;
-alter table migtest_e_history2 drop system versioning /* 2 */;
CALL usp_ebean_drop_column('migtest_e_history2', 'test_string3');
-
-CALL usp_ebean_drop_column('migtest_e_history2_history', 'test_string3');
-alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated /* 3 */;
-alter table migtest_e_history2 drop system versioning /* 4 */;
CALL usp_ebean_drop_column('migtest_e_history2', 'new_column');
-
+CALL usp_ebean_drop_column('migtest_e_history2_history', 'test_string2');
+CALL usp_ebean_drop_column('migtest_e_history2_history', 'test_string3');
CALL usp_ebean_drop_column('migtest_e_history2_history', 'new_column');
-alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated /* 5 */;
-alter table migtest_e_history5 drop system versioning /* 6 */;
CALL usp_ebean_drop_column('migtest_e_history5', 'test_boolean');
-
CALL usp_ebean_drop_column('migtest_e_history5_history', 'test_boolean');
-alter table migtest_e_history5 add system versioning history table migtest_e_history5_history not validated /* 7 */;
CALL usp_ebean_drop_column('migtest_e_softdelete', 'deleted');
-
CALL usp_ebean_drop_column('migtest_oto_child', 'master_id');
-
+alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated;
+alter table migtest_e_history5 add system versioning history table migtest_e_history5_history not validated;
drop table migtest_e_user cascade;
drop table migtest_mtm_c_migtest_mtm_m cascade;
drop table migtest_mtm_m_migtest_mtm_c cascade;
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 8f4cc673e..bf6b1e14d 100644
--- a/ebean-test/src/test/resources/migrationtest/dbmigration/hana/idx_hana.migrations
+++ b/ebean-test/src/test/resources/migrationtest/dbmigration/hana/idx_hana.migrations
@@ -1,8 +1,8 @@
-745347271, I__create_procs.sql
513351138, 1.0__initial.sql
--1152055114, 1.1.sql
-1830946249, 1.2__dropsFor_1.1.sql
-744723875, 1.3.sql
-201970227, 1.4__dropsFor_1.3.sql
+402034887, 1.1.sql
+-40882406, 1.2__dropsFor_1.1.sql
+1285995142, 1.3.sql
+-212925879, 1.4__dropsFor_1.3.sql
1906063401, R__order_views_hana.sql
From 5fd7aca3d95e4d90440b32f4d4e615a4dc39a72f Mon Sep 17 00:00:00 2001
From: Roland Praml
Date: Wed, 9 Mar 2022 16:17:04 +0100
Subject: [PATCH 4/4] Fixed test cases
---
.../ddlgeneration/BaseDdlHandlerTest.java | 82 ++++++++++---------
.../platform/BaseTableDdlTest.java | 19 ++---
.../ddlgeneration/platform/HanaDdlTest.java | 5 +-
.../platform/PlatformDdl_AlterColumnTest.java | 68 ++++++++-------
.../assert/BaseDdlHandlerTest/baseApply.sql | 5 +-
.../assert/BaseDdlHandlerTest/baseDropAll.sql | 1 +
...table.txt => drop-create-column-table.txt} | 4 +
...create-table.txt => drop-create-table.txt} | 4 +
.../dbmigration/1.0__initial.sql | 2 +-
.../dbmigration/1.2__dropsFor_1.1.sql | 6 +-
10 files changed, 107 insertions(+), 89 deletions(-)
rename ebean-ddl-generator/src/test/resources/assert/{create-column-table.txt => drop-create-column-table.txt} (84%)
rename ebean-ddl-generator/src/test/resources/assert/{create-table.txt => drop-create-table.txt} (83%)
diff --git a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/BaseDdlHandlerTest.java b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/BaseDdlHandlerTest.java
index ef1bd4081..b81b8d5d1 100644
--- a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/BaseDdlHandlerTest.java
+++ b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/BaseDdlHandlerTest.java
@@ -19,7 +19,7 @@ import static org.assertj.core.api.Assertions.assertThat;
public class BaseDdlHandlerTest extends BaseTestCase {
private static boolean useV1Syntax = Boolean.getBoolean("ebean.h2.useV1Syntax");
-
+
private final DatabaseConfig serverConfig = new DatabaseConfig();
private DdlHandler handler(DatabasePlatform platform) {
@@ -47,15 +47,15 @@ public class BaseDdlHandlerTest extends BaseTestCase {
DdlWrite writer = new DdlWrite();
h2Handler().generate(writer, Helper.getAddColumn());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column added_to_foo varchar(20);\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add column added_to_foo varchar(20);\n");
writer = new DdlWrite();
sqlserverHandler().generate(writer, Helper.getAddColumn());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add added_to_foo nvarchar(20);\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add added_to_foo nvarchar(20);\n");
writer = new DdlWrite();
hanaHandler().generate(writer, Helper.getAddColumn());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add ( added_to_foo nvarchar(20));\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add (added_to_foo nvarchar(20));\n");
}
@Test
@@ -63,18 +63,17 @@ public class BaseDdlHandlerTest extends BaseTestCase {
DdlWrite writer = new DdlWrite();
h2Handler().generate(writer, Helper.getAlterTableAddColumnWithCheckConstraint());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column status integer;\n"
- + "alter table foo add constraint ck_ordering_status check ( status in (0,1));\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add column status integer;\n"
+ + "alter table foo add constraint ck_ordering_status check ( status in (0,1));\n");
writer = new DdlWrite();
hanaHandler().generate(writer, Helper.getAlterTableAddColumnWithCheckConstraint());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add ( status integer);\n"
- + "alter table foo add constraint ck_ordering_status check ( status in (0,1));\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add (status integer);\n"
+ + "alter table foo add constraint ck_ordering_status check ( status in (0,1));\n");
}
/**
- * Test the functionality of the Ebean {@literal @}DbArray extension during DDL
- * generation.
+ * Test the functionality of the Ebean {@literal @}DbArray extension during DDL generation.
*/
@Test
public void addColumn_dbarray() throws Exception {
@@ -84,20 +83,20 @@ public class BaseDdlHandlerTest extends BaseTestCase {
DdlHandler postgresHandler = postgresHandler();
postgresHandler.generate(writer, Helper.getAlterTableAddDbArrayColumn());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_added_to_foo varchar[];\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_added_to_foo varchar[];\n");
writer = new DdlWrite();
DdlHandler sqlserverHandler = sqlserverHandler();
sqlserverHandler.generate(writer, Helper.getAlterTableAddDbArrayColumn());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add dbarray_added_to_foo varchar(1000);\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add dbarray_added_to_foo varchar(1000);\n");
writer = new DdlWrite();
DdlHandler hanaHandler = hanaHandler();
hanaHandler.generate(writer, Helper.getAlterTableAddDbArrayColumn());
- assertThat(writer.apply().getBuffer())
- .isEqualTo("alter table foo add ( dbarray_added_to_foo nvarchar(255) array);\n\n");
+ assertThat(writer.toString())
+ .isEqualTo("alter table foo add (dbarray_added_to_foo nvarchar(255) array);\n");
}
@Test
@@ -106,24 +105,24 @@ public class BaseDdlHandlerTest extends BaseTestCase {
DdlWrite writer = new DdlWrite();
postgresHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_ninety varchar[];\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_ninety varchar[];\n");
writer = new DdlWrite();
h2Handler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength());
if (useV1Syntax) {
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_ninety array;\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_ninety array;\n");
} else {
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_ninety varchar array;\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_ninety varchar array;\n");
}
writer = new DdlWrite();
sqlserverHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add dbarray_ninety varchar(90);\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add dbarray_ninety varchar(90);\n");
writer = new DdlWrite();
hanaHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength());
- assertThat(writer.apply().getBuffer())
- .isEqualTo("alter table foo add ( dbarray_ninety nvarchar(255) array(90));\n\n");
+ assertThat(writer.toString())
+ .isEqualTo("alter table foo add (dbarray_ninety nvarchar(255) array(90));\n");
}
@Test
@@ -131,31 +130,31 @@ public class BaseDdlHandlerTest extends BaseTestCase {
DdlWrite writer = new DdlWrite();
postgresHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_integer integer[];\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_integer integer[];\n");
writer = new DdlWrite();
h2Handler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength());
if (useV1Syntax) {
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_integer array;\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_integer array;\n");
} else {
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add column dbarray_integer integer array;\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_integer integer array;\n");
}
writer = new DdlWrite();
sqlserverHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add dbarray_integer varchar(90);\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add dbarray_integer varchar(90);\n");
writer = new DdlWrite();
sqlserverHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnInteger());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add dbarray_integer varchar(1000);\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add dbarray_integer varchar(1000);\n");
writer = new DdlWrite();
hanaHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add ( dbarray_integer integer array(90));\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add (dbarray_integer integer array(90));\n");
writer = new DdlWrite();
hanaHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnInteger());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo add ( dbarray_integer integer array);\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo add (dbarray_integer integer array);\n");
}
@Test
@@ -166,12 +165,12 @@ public class BaseDdlHandlerTest extends BaseTestCase {
DdlHandler handler = h2Handler();
handler.generate(writer, Helper.getAlterTableAddColumn());
- String buffer = writer.apply().getBuffer();
+ String buffer = writer.toString();
assertThat(buffer).contains("alter table foo add column some_id integer;");
String fkBuffer = writer.applyForeignKeys().getBuffer();
assertThat(fkBuffer).contains(
- "alter table foo add constraint fk_foo_some_id foreign key (some_id) references bar (id) on delete restrict on update restrict;");
+ "alter table foo add constraint fk_foo_some_id foreign key (some_id) references bar (id) on delete restrict on update restrict;");
assertThat(fkBuffer).contains("create index idx_foo_some_id on foo (some_id);");
assertThat(writer.dropAll().getBuffer()).isEqualTo("");
}
@@ -184,7 +183,7 @@ public class BaseDdlHandlerTest extends BaseTestCase {
handler.generate(writer, Helper.getDropColumn());
- assertThat(writer.apply().getBuffer()).isEqualTo("alter table foo drop column col2;\n\n");
+ assertThat(writer.toString()).isEqualTo("alter table foo drop column col2;\n");
assertThat(writer.dropAll().getBuffer()).isEqualTo("");
writer = new DdlWrite();
@@ -192,7 +191,7 @@ public class BaseDdlHandlerTest extends BaseTestCase {
hanaHandler.generate(writer, Helper.getDropColumn());
- assertThat(writer.apply().getBuffer()).isEqualTo("CALL usp_ebean_drop_column('foo', 'col2');\n\n");
+ assertThat(writer.toString()).isEqualTo("CALL usp_ebean_drop_column('foo', 'col2');\n");
assertThat(writer.dropAll().getBuffer()).isEqualTo("");
}
@@ -204,9 +203,9 @@ public class BaseDdlHandlerTest extends BaseTestCase {
handler.generate(writer, Helper.getCreateTable());
- String createTableDDL = Helper.asText(this, "/assert/create-table.txt");
+ String createTableDDL = Helper.asText(this, "/assert/drop-create-table.txt");
- assertThat(writer.apply().getBuffer()).isEqualTo(createTableDDL);
+ assertThat(writer.toString()).isEqualTo(createTableDDL);
assertThat(writer.dropAll().getBuffer().trim()).isEqualTo("drop table if exists foo;");
writer = new DdlWrite();
@@ -214,9 +213,9 @@ public class BaseDdlHandlerTest extends BaseTestCase {
hanaHandler.generate(writer, Helper.getCreateTable());
- String createColumnTableDDL = Helper.asText(this, "/assert/create-column-table.txt");
+ String createColumnTableDDL = Helper.asText(this, "/assert/drop-create-column-table.txt");
- assertThat(writer.apply().getBuffer()).isEqualTo(createColumnTableDDL);
+ assertThat(writer.toString()).isEqualTo(createColumnTableDDL);
assertThat(writer.dropAll().getBuffer().trim()).isEqualTo("drop table foo cascade;");
}
@@ -230,9 +229,12 @@ public class BaseDdlHandlerTest extends BaseTestCase {
String apply = Helper.asText(this, "/assert/BaseDdlHandlerTest/baseApply.sql");
String rollbackLast = Helper.asText(this, "/assert/BaseDdlHandlerTest/baseDropAll.sql");
-
- assertThat(writer.apply().getBuffer()).isEqualTo(apply);
- assertThat(writer.dropAll().getBuffer()).isEqualTo(rollbackLast);
+ StringBuilder sb = new StringBuilder();
+ writer.writeApply(sb);
+ assertThat(sb.toString()).isEqualTo(apply);
+ sb = new StringBuilder();
+ writer.writeDropAll(sb);
+ assertThat(sb.toString()).isEqualTo(rollbackLast);
}
@Disabled
@@ -251,7 +253,7 @@ public class BaseDdlHandlerTest extends BaseTestCase {
String apply = Helper.asText(this, "/assert/changeset-apply.txt");
String rollbackLast = Helper.asText(this, "/assert/changeset-dropAll.txt");
- assertThat(writer.apply().getBuffer()).isEqualTo(apply);
+ assertThat(writer.toString()).isEqualTo(apply);
assertThat(writer.dropAll().getBuffer()).isEqualTo(rollbackLast);
}
@@ -272,7 +274,7 @@ public class BaseDdlHandlerTest extends BaseTestCase {
String rollbackFirst = Helper.asText(this, "/assert/changeset-pg-rollbackFirst.sql");
String rollbackLast = Helper.asText(this, "/assert/changeset-pg-rollbackLast.sql");
- assertThat(writer.apply().getBuffer()).isEqualTo(apply);
+ assertThat(writer.toString()).isEqualTo(apply);
assertThat(writer.applyForeignKeys().getBuffer()).isEqualTo(applyLast);
assertThat(writer.dropAllForeignKeys().getBuffer()).isEqualTo(rollbackFirst);
assertThat(writer.dropAll().getBuffer()).isEqualTo(rollbackLast);
diff --git a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdlTest.java b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdlTest.java
index 58e328a64..0c8f794b0 100644
--- a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdlTest.java
+++ b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/BaseTableDdlTest.java
@@ -39,7 +39,7 @@ public class BaseTableDdlTest {
ddlGen.generate(writer, alterColumn);
- String ddl = writer.apply().getBuffer();
+ String ddl = writer.toString();
assertThat(ddl).contains("alter table mytab drop constraint if exists ck_mytab_acol");
assertThat(ddl).contains("alter table mytab add constraint ck_mytab_acol check (acol in ('A','B'))");
}
@@ -57,7 +57,7 @@ public class BaseTableDdlTest {
ddlGen.alterTableAddColumn(writer, "mytable", column, false, false);
- String ddl = writer.apply().getBuffer();
+ String ddl = writer.toString();
assertThat(ddl).contains("alter table mytable add col_name varchar2(20)");
}
@@ -74,7 +74,7 @@ public class BaseTableDdlTest {
ddlGen.alterTableAddColumn(writer, "mytable", column, false, false);
- String ddl = writer.apply().getBuffer();
+ String ddl = writer.toString();
assertThat(ddl).contains("alter table mytable add column col_name String");
}
@@ -92,7 +92,7 @@ public class BaseTableDdlTest {
ddlGen.generate(writer, alterColumn);
- String ddl = writer.apply().getBuffer();
+ String ddl = writer.applyPostAlter().getBuffer();
assertThat(ddl).contains("comment on column mytab.acol is 'my comment'");
}
@@ -106,10 +106,9 @@ public class BaseTableDdlTest {
column.setType("int");
ddl.alterTableAddColumn(writer, "my_table", column, false, false);
- assertEquals(
- "alter table my_table add column my_column int;\n" +
- "comment on column my_table.my_column is 'some comment';\n",
- writer.apply().getBuffer());
+ assertEquals("alter table my_table add column my_column int;\n"
+ + "comment on column my_table.my_column is 'some comment';\n",
+ writer.toString());
}
@Test
@@ -125,7 +124,7 @@ public class BaseTableDdlTest {
ddlGen.generate(writer, addTableComment);
- String ddl = writer.apply().getBuffer();
+ String ddl = writer.applyPostAlter().getBuffer();
assertThat(ddl).contains("comment on table mytab is 'my comment'");
}
@@ -142,7 +141,7 @@ public class BaseTableDdlTest {
ddlGen.generate(writer, addTableComment);
- String ddl = writer.apply().getBuffer();
+ String ddl = writer.applyPostAlter().getBuffer();
assertThat(ddl).contains("alter table mytab comment = 'my comment'");
}
diff --git a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaDdlTest.java b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaDdlTest.java
index 4eb4e91f9..272428d28 100644
--- a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaDdlTest.java
+++ b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/HanaDdlTest.java
@@ -14,7 +14,7 @@ public class HanaDdlTest {
HanaColumnStoreDdl ddl = new HanaColumnStoreDdl(new HanaPlatform());
DdlWrite writer = new DdlWrite();
ddl.alterTableDropColumn(writer, "my_table", "my_column");
- assertEquals("CALL usp_ebean_drop_column('my_table', 'my_column');\n", writer.apply().getBuffer());
+ assertEquals("CALL usp_ebean_drop_column('my_table', 'my_column');\n", writer.toString());
}
@Test
@@ -34,6 +34,7 @@ public class HanaDdlTest {
column.setHistoryExclude(Boolean.TRUE);
column.setIdentity(Boolean.TRUE);
ddl.alterTableAddColumn(writer, "my_table", column, false, "1");
- assertEquals("alter table my_table add ( my_column int default 1 not null);\nalter table my_table add constraint check_constraint CHECK(my_column > 0);\n", writer.apply().getBuffer());
+ assertEquals("alter table my_table add (my_column int default 1 not null);\nalter table my_table add constraint check_constraint CHECK(my_column > 0);\n",
+ writer.toString());
}
}
diff --git a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl_AlterColumnTest.java b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl_AlterColumnTest.java
index 67a39f011..28109f0eb 100644
--- a/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl_AlterColumnTest.java
+++ b/ebean-ddl-generator/src/test/java/io/ebeaninternal/dbmigration/ddlgeneration/platform/PlatformDdl_AlterColumnTest.java
@@ -106,7 +106,8 @@ public class PlatformDdl_AlterColumnTest {
+ "alter table mytab alter column acol set not null;\n");
sql = alterColumn(pgDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter column acol type varchar(50) using acol::varchar(50);\n"
+ softly.assertThat(sql).isEqualTo("-- apply changes\n"
+ + "alter table mytab alter column acol type varchar(50) using acol::varchar(50);\n"
+ "alter table mytab alter column acol set default 'hi';\n"
+ "alter table mytab alter column acol set not null;\n");
@@ -116,15 +117,17 @@ public class PlatformDdl_AlterColumnTest {
+ "alter table mytab modify acol not null;\n");
sql = alterColumn(mysqlDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab modify acol varchar(50) not null default 'hi';\n");
+ softly.assertThat(sql).isEqualTo("-- apply changes\n"
+ + "alter table mytab modify acol varchar(50) not null default 'hi';\n");
sql = alterColumn(sqlServerDdl, alter);
- softly.assertThat(sql).isEqualTo("EXEC usp_ebean_drop_default_constraint mytab, acol;\n"
+ softly.assertThat(sql).isEqualTo("-- apply changes\n"
+ + "EXEC usp_ebean_drop_default_constraint mytab, acol;\n"
+ "alter table mytab alter column acol nvarchar(50) not null;\n"
+ "alter table mytab add default 'hi' for acol;\n");
sql = alterColumn(hanaDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(50) default 'hi' not null);\n");
+ softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(50) default 'hi' not null);\n");
sql = alterColumn(db2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set data type varchar(50);\n"
@@ -150,14 +153,16 @@ public class PlatformDdl_AlterColumnTest {
+ "alter table mytab modify acol null;\n");
sql = alterColumn(mysqlDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab modify acol varchar(5);\n");
+ softly.assertThat(sql).isEqualTo("-- apply changes\n"
+ + "alter table mytab modify acol varchar(5);\n");
sql = alterColumn(sqlServerDdl, alter);
- softly.assertThat(sql).isEqualTo("EXEC usp_ebean_drop_default_constraint mytab, acol;\n"
+ softly.assertThat(sql).isEqualTo("-- apply changes\n"
+ + "EXEC usp_ebean_drop_default_constraint mytab, acol;\n"
+ "alter table mytab alter column acol nvarchar(5);\n");
sql = alterColumn(hanaDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(5) default null);\n");
+ softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(5) default null);\n");
sql = alterColumn(db2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol drop default;\n"
@@ -178,38 +183,38 @@ public class PlatformDdl_AlterColumnTest {
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol varchar(20);\n");
sql = alterColumn(pgDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter column acol type varchar(20) using acol::varchar(20);\n");
+ softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab alter column acol type varchar(20) using acol::varchar(20);\n");
sql = alterColumn(oraDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab modify acol varchar2(20);\n");
sql = alterColumn(mysqlDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab modify acol varchar(20);\n");
+ softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab modify acol varchar(20);\n");
sql = alterColumn(sqlServerDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter column acol nvarchar(20);\n");
+ softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab alter column acol nvarchar(20);\n");
sql = alterColumn(hanaDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(20));\n");
+ softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(20));\n");
sql = alterColumn(db2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set data type varchar(20);\n");
alter.setType("bigint");
sql = alterColumn(pgDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter column acol type bigint using acol::bigint;\n");
+ softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab alter column acol type bigint using acol::bigint;\n");
alter.setCurrentType("bigint");
alter.setType("integer");
sql = alterColumn(hanaDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol decimal );\n"
- + "alter table mytab alter ( acol integer);\n");
+ softly.assertThat(sql).isEqualTo("alter table mytab alter (acol decimal);\n"
+ + "alter table mytab alter (acol integer);\n");
alter.setCurrentType("varchar(20)");
alter.setType("varchar(10)");
sql = alterColumn(hanaDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nclob);\n"
- + "alter table mytab alter ( acol nvarchar(10));\n");
+ softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nclob);\n"
+ + "alter table mytab alter (acol nvarchar(10));\n");
}
@@ -232,13 +237,15 @@ public class PlatformDdl_AlterColumnTest {
softly.assertThat(sql).isEqualTo("alter table mytab modify acol not null;\n");
sql = alterColumn(mysqlDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab modify acol varchar(20) not null;\n");
+ softly.assertThat(sql).isEqualTo("-- apply changes\n"
+ + "alter table mytab modify acol varchar(20) not null;\n");
sql = alterColumn(sqlServerDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter column acol nvarchar(20) not null;\n");
+ softly.assertThat(sql).isEqualTo("-- apply changes\n"
+ + "alter table mytab alter column acol nvarchar(20) not null;\n");
sql = alterColumn(hanaDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(20) not null);\n");
+ softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(20) not null);\n");
sql = alterColumn(db2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set not null;\n");
@@ -266,15 +273,15 @@ public class PlatformDdl_AlterColumnTest {
softly.assertThat(sql).isEqualTo("alter table mytab modify acol null;\n");
sql = alterColumn(mysqlDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab modify acol varchar(20) default 'hi';\n");
+ softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab modify acol varchar(20) default 'hi';\n");
sql = alterColumn(sqlServerDdl, alter);
- softly.assertThat(sql).isEqualTo("EXEC usp_ebean_drop_default_constraint mytab, acol;\n"
+ softly.assertThat(sql).isEqualTo("-- apply changes\nEXEC usp_ebean_drop_default_constraint mytab, acol;\n"
+ "alter table mytab alter column acol nvarchar(20);\n"
+ "alter table mytab add default 'hi' for acol;\n");
sql = alterColumn(hanaDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(20) default 'hi');\n");
+ softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(20) default 'hi');\n");
sql = alterColumn(db2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol drop not null;\n");
@@ -302,11 +309,12 @@ public class PlatformDdl_AlterColumnTest {
softly.assertThat(sql).isEqualTo("alter table mytab alter acol set default 'hi';\n");
sql = alterColumn(sqlServerDdl, alter);
- softly.assertThat(sql).isEqualTo("EXEC usp_ebean_drop_default_constraint mytab, acol;\n"
+ softly.assertThat(sql).isEqualTo("-- apply changes\n"
+ + "EXEC usp_ebean_drop_default_constraint mytab, acol;\n"
+ "alter table mytab add default 'hi' for acol;\n");
sql = alterColumn(hanaDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(20) default 'hi' not null);\n");
+ softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(20) default 'hi' not null);\n");
sql = alterColumn(db2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set default 'hi';\n");
@@ -335,11 +343,11 @@ public class PlatformDdl_AlterColumnTest {
softly.assertThat(sql).isEqualTo("alter table mytab alter acol set default 'hi';\n");
sql = alterColumn(sqlServerDdl, alter);
- softly.assertThat(sql).isEqualTo("EXEC usp_ebean_drop_default_constraint mytab, acol;\n"
+ softly.assertThat(sql).isEqualTo("-- apply changes\nEXEC usp_ebean_drop_default_constraint mytab, acol;\n"
+ "alter table mytab add default 'hi' for acol;\n");
sql = alterColumn(hanaDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(20) default 'hi' not null);\n");
+ softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(20) default 'hi' not null);\n");
sql = alterColumn(db2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set default 'hi';\n");
@@ -369,10 +377,10 @@ public class PlatformDdl_AlterColumnTest {
softly.assertThat(sql).isEqualTo("alter table mytab alter acol drop default;\n");
sql = alterColumn(sqlServerDdl, alter);
- softly.assertThat(sql).isEqualTo("EXEC usp_ebean_drop_default_constraint mytab, acol;\n");
+ softly.assertThat(sql).isEqualTo("-- apply changes\nEXEC usp_ebean_drop_default_constraint mytab, acol;\n");
sql = alterColumn(hanaDdl, alter);
- softly.assertThat(sql).isEqualTo("alter table mytab alter ( acol nvarchar(20) default null not null);\n");
+ softly.assertThat(sql).isEqualTo("alter table mytab alter (acol nvarchar(20) default null not null);\n");
sql = alterColumn(db2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol drop default;\n");
@@ -383,7 +391,7 @@ public class PlatformDdl_AlterColumnTest {
public void oracle_alterTableAddColumn() {
DdlWrite writer = new DdlWrite();
oraDdl.alterTableAddColumn(writer, "my_table", simpleColumn(), false, "1");
- softly.assertThat(writer.apply().getBuffer())
+ softly.assertThat(writer.toString())
.isEqualTo("alter table my_table add my_column int default 1 not null;\n");
}
@@ -531,7 +539,7 @@ public class PlatformDdl_AlterColumnTest {
private String alterColumn(PlatformDdl ddl, AlterColumn alterColumn) {
DdlWrite write = new DdlWrite();
ddl.alterColumn(write, alterColumn);
- return write.apply().getBuffer();
+ return write.toString();
}
private String alterFkey(PlatformDdl ddl, String onDelete, String onUpdate) {
diff --git a/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseApply.sql b/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseApply.sql
index 74f140511..1805e6683 100644
--- a/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseApply.sql
+++ b/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseApply.sql
@@ -1,3 +1,4 @@
+-- apply changes
create table foo (
col1 varchar(4) generated by default as identity not null,
col2 varchar(30) not null,
@@ -6,7 +7,7 @@ create table foo (
);
comment on table foo is 'comment';
+
+
alter table foo add column added_to_foo varchar(20);
-
alter table foo drop column col2;
-
diff --git a/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseDropAll.sql b/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseDropAll.sql
index cf3ebf022..170706608 100644
--- a/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseDropAll.sql
+++ b/ebean-ddl-generator/src/test/resources/assert/BaseDdlHandlerTest/baseDropAll.sql
@@ -1,2 +1,3 @@
+-- drop all
drop table if exists foo;
diff --git a/ebean-ddl-generator/src/test/resources/assert/create-column-table.txt b/ebean-ddl-generator/src/test/resources/assert/drop-create-column-table.txt
similarity index 84%
rename from ebean-ddl-generator/src/test/resources/assert/create-column-table.txt
rename to ebean-ddl-generator/src/test/resources/assert/drop-create-column-table.txt
index 879972680..b5b138663 100644
--- a/ebean-ddl-generator/src/test/resources/assert/create-column-table.txt
+++ b/ebean-ddl-generator/src/test/resources/assert/drop-create-column-table.txt
@@ -1,3 +1,7 @@
+-- drop all
+drop table foo cascade;
+
+-- apply changes
create column table foo (
col1 nvarchar(4) generated by default as identity not null,
col2 nvarchar(30) not null,
diff --git a/ebean-ddl-generator/src/test/resources/assert/create-table.txt b/ebean-ddl-generator/src/test/resources/assert/drop-create-table.txt
similarity index 83%
rename from ebean-ddl-generator/src/test/resources/assert/create-table.txt
rename to ebean-ddl-generator/src/test/resources/assert/drop-create-table.txt
index 3330f90e5..1b9b2ab87 100644
--- a/ebean-ddl-generator/src/test/resources/assert/create-table.txt
+++ b/ebean-ddl-generator/src/test/resources/assert/drop-create-table.txt
@@ -1,3 +1,7 @@
+-- drop all
+drop table if exists foo;
+
+-- apply changes
create table foo (
col1 varchar(4) generated by default as identity not null,
col2 varchar(30) not null,
diff --git a/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.0__initial.sql b/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.0__initial.sql
index c2e2019a7..38ea03bb3 100644
--- a/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.0__initial.sql
+++ b/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.0__initial.sql
@@ -4,9 +4,9 @@ create table migtest_e_history7 (
id integer generated by default as identity not null,
constraint pk_migtest_e_history7 primary key (id)
);
-
alter table migtest_e_history7 add column sys_period_start timestamp default now();
alter table migtest_e_history7 add column sys_period_end timestamp;
+
create table migtest_e_history7_history(
id integer,
sys_period_start timestamp,
diff --git a/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.2__dropsFor_1.1.sql b/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.2__dropsFor_1.1.sql
index 692d93f76..b52760023 100644
--- a/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.2__dropsFor_1.1.sql
+++ b/ebean-test/src/test/resources/migrationtest-history/dbmigration/1.2__dropsFor_1.1.sql
@@ -2,9 +2,7 @@
-- drop dependencies
drop trigger migtest_e_history7_history_upd;
drop view migtest_e_history7_with_history;
-alter table migtest_e_history7 drop column sys_period_start;
-alter table migtest_e_history7 drop column sys_period_end;
drop table migtest_e_history7_history;
-
--- apply changes
+alter table migtest_e_history7 drop column sys_period_start;
+alter table migtest_e_history7 drop column sys_period_end;