Merge branch 'master' of github.com:ebean-orm/ebean

This commit is contained in:
Rob Bygrave
2022-03-14 15:37:52 +13:00
170 changed files with 1491 additions and 1155 deletions
@@ -0,0 +1,42 @@
package io.ebean.config;
import java.util.concurrent.Callable;
/**
* BackgroundExecutorWrapper that can be used to wrap tasks that are sent to background (i.e. an other thread).
* It should copy all neccessary thread-local variables. See {@link MdcBackgroundExecutorWrapper} for implementation details.
*
* @author Roland Praml, FOCONIS AG
*/
public interface BackgroundExecutorWrapper {
/**
* Wrap the task with MDC context if defined.
*/
<T> Callable<T> wrap(Callable<T> task);
/**
* Wrap the task with MDC context if defined.
*/
Runnable wrap(Runnable task);
/**
* Combines two wrappers by joining them.
*/
default BackgroundExecutorWrapper with(BackgroundExecutorWrapper inner) {
return new BackgroundExecutorWrapper() {
@Override
public Runnable wrap(Runnable task) {
return BackgroundExecutorWrapper.this.wrap(inner.wrap(task));
}
@Override
public <T> Callable<T> wrap(Callable<T> task) {
return BackgroundExecutorWrapper.this.wrap(inner.wrap(task));
}
};
}
}
@@ -445,6 +445,7 @@ public class DatabaseConfig {
private int backgroundExecutorSchedulePoolSize = 1;
private int backgroundExecutorShutdownSecs = 30;
private BackgroundExecutorWrapper backgroundExecutorWrapper = new MdcBackgroundExecutorWrapper();
// defaults for the L2 bean caching
@@ -1463,6 +1464,20 @@ public class DatabaseConfig {
this.backgroundExecutorShutdownSecs = backgroundExecutorShutdownSecs;
}
/**
* Return the background executor wrapper.
*/
public BackgroundExecutorWrapper getBackgroundExecutorWrapper() {
return backgroundExecutorWrapper;
}
/**
* Sets the background executor wrapper. The wrapper is used when a task is sent to background and should copy the thread-locals.
*/
public void setBackgroundExecutorWrapper(BackgroundExecutorWrapper backgroundExecutorWrapper) {
this.backgroundExecutorWrapper = backgroundExecutorWrapper;
}
/**
* Return the L2 cache default max size.
*/
@@ -2884,6 +2899,7 @@ public class DatabaseConfig {
backgroundExecutorSchedulePoolSize = p.getInt("backgroundExecutorSchedulePoolSize", backgroundExecutorSchedulePoolSize);
backgroundExecutorShutdownSecs = p.getInt("backgroundExecutorShutdownSecs", backgroundExecutorShutdownSecs);
backgroundExecutorWrapper = p.createInstance(BackgroundExecutorWrapper.class, "backgroundExecutorWrapper", backgroundExecutorWrapper);
disableClasspathSearch = p.getBoolean("disableClasspathSearch", disableClasspathSearch);
currentUserProvider = p.createInstance(CurrentUserProvider.class, "currentUserProvider", currentUserProvider);
databasePlatform = p.createInstance(DatabasePlatform.class, "databasePlatform", databasePlatform);
@@ -0,0 +1,50 @@
package io.ebean.config;
import java.util.Map;
import java.util.concurrent.Callable;
import org.slf4j.MDC;
public class MdcBackgroundExecutorWrapper implements BackgroundExecutorWrapper {
/**
* Wrap the task with MDC context if defined.
*/
@Override
public <T> Callable<T> wrap(Callable<T> task) {
final Map<String, String> map = MDC.getCopyOfContextMap();
if (map == null) {
return task;
} else {
return () -> {
MDC.setContextMap(map);
try {
return task.call();
} finally {
MDC.clear();
}
};
}
}
/**
* Wrap the task with MDC context if defined.
*/
@Override
public Runnable wrap(Runnable task) {
final Map<String, String> map = MDC.getCopyOfContextMap();
if (map == null) {
return task;
} else {
return () -> {
MDC.setContextMap(map);
try {
task.run();
} finally {
MDC.clear();
}
};
}
}
}
@@ -1,5 +1,6 @@
package io.ebeaninternal.server.core;
import io.ebean.config.BackgroundExecutorWrapper;
import io.ebean.config.ContainerConfig;
import io.ebean.config.DatabaseConfig;
import io.ebean.config.DatabaseConfigProvider;
@@ -67,7 +68,8 @@ public final class DefaultContainer implements SpiContainer {
String namePrefix = "ebean-" + config.getName();
int schedulePoolSize = config.getBackgroundExecutorSchedulePoolSize();
int shutdownSecs = config.getBackgroundExecutorShutdownSecs();
return new DefaultBackgroundExecutor(schedulePoolSize, shutdownSecs, namePrefix);
BackgroundExecutorWrapper wrapper = config.getBackgroundExecutorWrapper();
return new DefaultBackgroundExecutor(schedulePoolSize, shutdownSecs, namePrefix, wrapper);
}
/**
@@ -1,70 +1,94 @@
package io.ebeaninternal.server.executor;
import io.avaje.lang.NonNullApi;
import io.ebean.config.BackgroundExecutorWrapper;
import io.ebeaninternal.api.SpiBackgroundExecutor;
import org.slf4j.MDC;
import java.util.Map;
import java.util.concurrent.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* The default implementation of the BackgroundExecutor.
*/
@NonNullApi
public final class DefaultBackgroundExecutor implements SpiBackgroundExecutor {
protected static final Logger logger = LoggerFactory.getLogger("io.ebean.BackgroundExecutor");
private final ScheduledExecutorService schedulePool;
private final DaemonExecutorService pool;
private final BackgroundExecutorWrapper wrapper;
/**
* Construct the default implementation of BackgroundExecutor.
*/
public DefaultBackgroundExecutor(int schedulePoolSize, int shutdownWaitSeconds, String namePrefix) {
public DefaultBackgroundExecutor(int schedulePoolSize, int shutdownWaitSeconds, String namePrefix, BackgroundExecutorWrapper wrapper) {
this.schedulePool = new DaemonScheduleThreadPool(schedulePoolSize, shutdownWaitSeconds, namePrefix + "-periodic-");
this.pool = new DaemonExecutorService(shutdownWaitSeconds, namePrefix);
this.wrapper = wrapper;
logger.debug("Created backgroundExecutor {} (schedulePoolSize={}, shutdownWaitSeconds={})", namePrefix, schedulePoolSize, shutdownWaitSeconds);
}
/**
* Wrap the task with MDC context if defined.
*/
<T> Callable<T> wrapMDC(Callable<T> task) {
final Map<String, String> map = MDC.getCopyOfContextMap();
if (map == null) {
<T> Callable<T> wrap(Callable<T> task) {
if (wrapper == null) {
return task;
} else {
return () -> {
MDC.setContextMap(map);
try {
return task.call();
} finally {
MDC.clear();
}
};
return wrapper.wrap(task);
}
}
/**
* Wrap the task with MDC context if defined.
*/
Runnable wrapMDC(Runnable task) {
final Map<String, String> map = MDC.getCopyOfContextMap();
if (map == null) {
Runnable wrap(Runnable task) {
if (wrapper == null) {
return task;
} else {
return () -> {
MDC.setContextMap(map);
try {
return wrapper.wrap(task);
}
}
/**
* Decorates a runnable by adding an exception handler and some timing metrics.
* This is used in methods that accepts a <code>Runnable</code> and return
* either <code>void</code> or <code>ScheduledFuture</code>, as there is
* normally no Future.get() call.
*
* Note: When submitting a <code>Callable</code>, you must check
* <code>Future.get()</code> for exceptions.
*/
private Runnable logExceptions(Runnable task) {
long queued = System.nanoTime();
logger.trace("Queued {}", task);
return () -> {
try {
if (logger.isTraceEnabled()) {
long start = System.nanoTime();
logger.trace("Start {} (delay time {} us)", task, (start - queued) / 1000L);
task.run();
logger.trace("Stop {} (exec time {} us)", task, (System.nanoTime() - start) / 1000L);
} else {
task.run();
} finally {
MDC.clear();
}
};
}
} catch (Throwable t) {
// log any exception here. Note they will not bubble up to the calling user
// unless Future.get() is checked. (Which is almost never done on scheduled
// background executions)
logger.error("Error while executing the task {}", task, t);
throw t;
}
};
}
@Override
public <T> Future<T> submit(Callable<T> task) {
return pool.submit(wrapMDC(task));
return pool.submit(wrap(task));
}
/**
@@ -72,48 +96,52 @@ public final class DefaultBackgroundExecutor implements SpiBackgroundExecutor {
*/
@Override
public Future<?> submit(Runnable task) {
return pool.submit(wrapMDC(task));
return pool.submit(wrap(task));
}
@Override
public void execute(Runnable task) {
submit(task);
submit(logExceptions(task));
}
@Override
public void executePeriodically(Runnable task, long delay, TimeUnit unit) {
schedulePool.scheduleWithFixedDelay(wrapMDC(task), delay, delay, unit);
schedulePool.scheduleWithFixedDelay(wrap(logExceptions(task)), delay, delay, unit);
}
@Override
public void executePeriodically(Runnable task, long initialDelay, long delay, TimeUnit unit) {
schedulePool.scheduleWithFixedDelay(wrapMDC(task), initialDelay, delay, unit);
schedulePool.scheduleWithFixedDelay(wrap(logExceptions(task)), initialDelay, delay, unit);
}
@Override
public ScheduledFuture<?> scheduleWithFixedDelay(Runnable task, long initialDelay, long delay, TimeUnit unit) {
return schedulePool.scheduleWithFixedDelay(wrapMDC(task), initialDelay, delay, unit);
return schedulePool.scheduleWithFixedDelay(wrap(logExceptions(task)), initialDelay, delay, unit);
}
@Override
public ScheduledFuture<?> scheduleAtFixedRate(Runnable task, long initialDelay, long delay, TimeUnit unit) {
return schedulePool.scheduleAtFixedRate(wrapMDC(task), initialDelay, delay, unit);
return schedulePool.scheduleAtFixedRate(wrap(logExceptions(task)), initialDelay, delay, unit);
}
@Override
public ScheduledFuture<?> schedule(Runnable task, long delay, TimeUnit unit) {
return schedulePool.schedule(wrapMDC(task), delay, unit);
return schedulePool.schedule(wrap(logExceptions(task)), delay, unit);
}
@Override
public <V> ScheduledFuture<V> schedule(Callable<V> task, long delay, TimeUnit unit) {
return schedulePool.schedule(wrapMDC(task), delay, unit);
// Note: Here is no "logExceptions", because it is intended to check Future.get() by the invoker
return schedulePool.schedule(wrap(task), delay, unit);
}
@Override
public void shutdown() {
logger.trace("Shutting down backgroundExecutor");
schedulePool.shutdown();
pool.shutdown();
logger.debug("BackgroundExecutor stopped");
}
}
@@ -31,7 +31,7 @@ class DaemonExecutorServiceTest {
@Test
void submit_via_DefaultBackgroundExecutor() throws Exception {
DefaultBackgroundExecutor des = new DefaultBackgroundExecutor(1, 5, "junk");
DefaultBackgroundExecutor des = new DefaultBackgroundExecutor(1, 5, "junk", null);
long start = System.currentTimeMillis();
List<Future<?>> futures = new ArrayList<>();
for (int i = 0; i < count; i++) {
@@ -11,7 +11,18 @@ import io.ebeaninternal.dbmigration.model.MTable;
import io.ebeaninternal.dbmigration.model.ModelContainer;
/**
* Write context holding the buffers for both apply and rollback DDL.
* Write context holding the buffers for both apply and rollback DDL. Description of the apply buffers:
* <ul>
* <li><b>applyDropDependencies:</b> Contains drops for foreign keys, indices, constraint or drop history table</li>
* <li><b>apply:</b> Contains &#64;DbMigraion.before, create table, create sequence or disable system versioning statements</li>
* <li><b>applyAlterTables:</b> Contains table alters (only that change the table data structure, there may be table alters like
* constraints etc. in postAlter)</li>
* <li><b>applyPostAlter:</b> Contains check constraints, unique constraints (which CAN be an index), column and table comments,
* &#64;DbMigraion.after, drop tables, drop sequences or enable system versioning statement</li>
* <li><b>applyForeignKeys: Contains foreign keys and indices.</b>
* <li><b>applyHistoryView:</b> The views for trigger based history support</li>
* <li><b>applyHistoryTrigger:</b> The triggers for trigger based history support</li>
* </ul>
*/
public class DdlWrite {
@@ -169,25 +180,27 @@ public class DdlWrite {
target.append(apply.getBuffer());
}
if (!applyAlterTables.isEmpty()) {
// target.append("-- apply alter tables\n"); maybe added later. Makes diff easier
target.append("-- apply alter tables\n");
for (DdlAlterTable alterTable : applyAlterTables.values()) {
alterTable.write(target);
}
}
if (!applyPostAlter.isEmpty()) {
// target.append("-- apply post alter\n"); maybe added later.
target.append("-- apply post alter\n");
target.append(applyPostAlter.getBuffer());
}
if (!applyForeignKeys.isEmpty()) {
// target.append("-- foreign keys and indices\n"); maybe added later.
target.append("-- foreign keys and indices\n");
target.append(applyForeignKeys.getBuffer());
}
if (!applyHistoryView.isEmpty()) {
target.append("-- apply history view\n");
target.append(applyHistoryView.getBuffer());
}
if (!applyHistoryTrigger.isEmpty()) {
target.append("-- apply history trigger\n");
target.append(applyHistoryTrigger.getBuffer());
}
}
@@ -205,7 +218,7 @@ public class DdlWrite {
target.append(dropAll.getBuffer());
}
}
/**
* Returns all create statements. Mainly used for unit-tests
*/
@@ -221,5 +234,4 @@ public class DdlWrite {
return sb.toString();
}
}
@@ -558,7 +558,7 @@ public class BaseTableDdl implements TableDdl {
@Override
public void generate(DdlWrite writer, CreateIndex index) {
if (platformInclude(index.getPlatforms())) {
writer.applyPostAlter().appendStatement(platformDdl.createIndex(new WriteCreateIndex(index)));
writer.applyForeignKeys().appendStatement(platformDdl.createIndex(new WriteCreateIndex(index)));
writer.dropAll().appendStatement(platformDdl.dropIndex(index.getIndexName(), index.getTableName(), Boolean.TRUE.equals(index.isConcurrent())));
}
}
@@ -664,7 +664,6 @@ public class BaseTableDdl implements TableDdl {
writeForeignKey(writer, tableName, column);
}
}
writer.apply().end();
}
/**
@@ -679,7 +678,7 @@ public class BaseTableDdl implements TableDdl {
if (!hasValue(sequenceName)) {
sequenceName = namingConvention.getSequenceName(dropTable.getName(), dropTable.getSequenceCol());
}
dropSequence(writer.apply(), sequenceName);
dropSequence(writer.applyPostAlter(), sequenceName);
}
}
@@ -696,7 +695,6 @@ public class BaseTableDdl implements TableDdl {
regenerateHistoryTriggers(tableName, HistoryTableUpdate.Change.DROP, dropColumn.getColumnName());
alterTableDropColumn(writer, historyTable(tableName), dropColumn.getColumnName());
}
writer.apply().end();
}
/**
@@ -109,7 +109,7 @@ public abstract class DbTriggerBasedHistoryDdl implements PlatformHistoryDdl {
String baseTable = table.getName();
addSysPeriodColumns(writer.apply(), baseTable, table.getWhenCreatedColumn());
addSysPeriodColumns(writer, baseTable, table.getWhenCreatedColumn());
createHistoryTable(writer.applyPostAlter(), table);
createTriggers(writer, table);
@@ -161,20 +161,18 @@ public abstract class DbTriggerBasedHistoryDdl implements PlatformHistoryDdl {
DdlBuffer apply = writer.applyHistoryView();
addSysPeriodColumns(apply, baseTableName, whenCreatedColumn);
addSysPeriodColumns(writer, baseTableName, whenCreatedColumn);
createHistoryTable(writer.applyPostAlter(), table);
createWithHistoryView(apply, baseTableName);
}
protected void addSysPeriodColumns(DdlBuffer apply, String baseTableName, String whenCreatedColumn) {
apply.append("alter table ").append(baseTableName).append(" add column ")
.append(sysPeriodStart).append(" ").append(sysPeriodType).append(" default ").append(now).endOfStatement();
apply.append("alter table ").append(baseTableName).append(" add column ")
.append(sysPeriodEnd).append(" ").append(sysPeriodType).endOfStatement();
protected void addSysPeriodColumns(DdlWrite writer, String baseTableName, String whenCreatedColumn) {
platformDdl.alterTableAddColumn(writer, baseTableName, sysPeriodStart, sysPeriodType, now);
platformDdl.alterTableAddColumn(writer, baseTableName, sysPeriodEnd, sysPeriodType, null);
if (whenCreatedColumn != null) {
apply.append("update ").append(baseTableName).append(" set ").append(sysPeriodStart).append(" = ").append(whenCreatedColumn).endOfStatement();
writer.applyPostAlter()
.append("update ").append(baseTableName).append(" set ").append(sysPeriodStart).append(" = ").append(whenCreatedColumn).endOfStatement();
}
}
@@ -40,7 +40,7 @@ public class MySqlDdl extends PlatformDdl {
@Override
public void alterTableDropColumn(DdlWrite writer, String tableName, String columnName) {
if (this.useMigrationStoredProcedures) {
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("')");
} else {
super.alterTableDropColumn(writer, tableName, columnName);
}
@@ -108,16 +108,14 @@ public class MySqlDdl extends PlatformDdl {
boolean notnull = (alter.isNotnull() != null) ? alter.isNotnull() : Boolean.TRUE.equals(alter.isCurrentNotnull());
String defaultValue = alter.getDefaultValue() != null ? alter.getDefaultValue() : alter.getCurrentDefaultValue();
DdlBuffer buffer = writer.apply().append("alter table ").append(tableName)
.appendWithSpace("modify").appendWithSpace(columnName);
buffer.appendWithSpace(type);
DdlBuffer buffer = alterTable(writer, tableName).append("modify", columnName);
buffer.append(type);
if (notnull) {
buffer.append(" not null");
}
if (hasValue(defaultValue) && !DdlHelp.isDropDefault(defaultValue)) {
buffer.append(" default ").append(convertDefaultValue(defaultValue));
}
buffer.endOfStatement();
}
}
@@ -555,6 +555,21 @@ public class PlatformDdl {
}
/**
* This method is used from DbTriggerBasedHistoryDdl to add the sysPeriodColumns.
*/
public void alterTableAddColumn(DdlWrite writer, String tableName, String columnName, String columnType, String defaultValue) {
String convertedType = convert(columnType);
DdlBuffer buffer = alterTable(writer, tableName).append(addColumn, columnName);
buffer.append(convertedType);
if (defaultValue != null) {
buffer.append(" default ");
buffer.append(defaultValue);
}
}
public void alterTableDropColumn(DdlWrite writer, String tableName, String columnName) {
alterTable(writer, tableName).append(dropColumn, columnName);
}
@@ -60,11 +60,8 @@ public class PostgresDdl extends PlatformDdl {
@Override
protected void alterColumnType(DdlWrite writer, AlterColumn alter) {
String type = convert(alter.getType());
writer.apply().append("alter table ").append(alter.getTableName())
.appendWithSpace(alterColumn).appendWithSpace(alter.getColumnName())
.appendWithSpace(columnSetType).append(type)
.append(" using ").append(alter.getColumnName()).append("::").append(type)
.endOfStatement();
alterTable(writer, alter.getTableName()).append(alterColumn, alter.getColumnName())
.append(columnSetType).append(type)
.append(" using ").append(alter.getColumnName()).append("::").append(type);
}
}
@@ -29,14 +29,11 @@ public class PostgresHistoryDdl extends DbTriggerBasedHistoryDdl {
* Use Postgres range type rather than start and end timestamps.
*/
@Override
protected void addSysPeriodColumns(DdlBuffer apply, String baseTableName, String whenCreatedColumn) {
apply
.append("alter table ").append(baseTableName)
.append(" add column ").append(sysPeriod).append(" tstzrange not null default tstzrange(").append(now).append(", null)")
.endOfStatement();
protected void addSysPeriodColumns(DdlWrite writer, String baseTableName, String whenCreatedColumn) {
platformDdl.alterTableAddColumn(writer, baseTableName, sysPeriod, "tstzrange not null", "tstzrange(" + now + ", null)");
if (whenCreatedColumn != null) {
apply.append("update ").append(baseTableName).append(" set ")
writer.applyPostAlter()
.append("update ").append(baseTableName).append(" set ")
.append(sysPeriod).append(" = tstzrange(").append(whenCreatedColumn).append(", null)").endOfStatement();
}
}
@@ -142,9 +142,9 @@ public class SqlServerDdl extends PlatformDdl {
String columnName = alter.getColumnName();
String defaultValue = alter.getDefaultValue();
if (DdlHelp.isDropDefault(defaultValue)) {
writer.apply().appendStatement(execUspDropDefaultConstraint(tableName, columnName));
execUspDropDefaultConstraint(writer, tableName, columnName);
} else {
writer.apply().appendStatement(execUspDropDefaultConstraint(tableName, columnName));
execUspDropDefaultConstraint(writer, tableName, columnName);
setDefaultValue(writer, tableName, columnName, defaultValue);
}
}
@@ -164,21 +164,17 @@ public class SqlServerDdl extends PlatformDdl {
type = convert(type);
boolean notnull = (alter.isNotnull() != null) ? alter.isNotnull() : Boolean.TRUE.equals(alter.isCurrentNotnull());
String defaultValue = alter.getDefaultValue() != null ? alter.getDefaultValue() : alter.getCurrentDefaultValue();
DdlBuffer buffer = writer.apply();
if (hasValue(defaultValue)) {
// default value present -> drop default constraint before altering
buffer.appendStatement(execUspDropDefaultConstraint(tableName, columnName));
execUspDropDefaultConstraint(writer, tableName, columnName);
}
buffer = writer.apply().append("alter table ").append(tableName)
.appendWithSpace(alterColumn).appendWithSpace(columnName);
buffer.appendWithSpace(type);
DdlBuffer buffer = alterTable(writer, tableName).append(alterColumn, columnName);
buffer.append(type);
if (notnull) {
buffer.append(" not null");
}
buffer.endOfStatement();
// re add - default constraint
if (hasValue(defaultValue) && !DdlHelp.isDropDefault(defaultValue)) {
setDefaultValue(writer, tableName, columnName, defaultValue);
@@ -210,7 +206,7 @@ public class SqlServerDdl extends PlatformDdl {
*/
@Override
public void alterTableDropColumn(DdlWrite writer, String tableName, String columnName) {
writer.apply().append("EXEC usp_ebean_drop_column ").append(tableName).append(", ").append(columnName).endOfStatement();
alterTable(writer, tableName).raw("EXEC usp_ebean_drop_column ").append(tableName).append(", ").append(columnName);
}
/**
@@ -252,18 +248,15 @@ public class SqlServerDdl extends PlatformDdl {
.endOfStatement();
}
private String ifObjectExists(String object, String objectType) {
public static String ifObjectExists(String object, String objectType) {
return "IF OBJECT_ID('" + object + "', '" + objectType + "') IS NOT NULL ";
}
private String execUspDropDefaultConstraint(String tableName, String columnName) {
return "EXEC usp_ebean_drop_default_constraint " + tableName + ", " + columnName;
private void execUspDropDefaultConstraint(DdlWrite writer, String tableName, String columnName) {
alterTable(writer, tableName).raw("EXEC usp_ebean_drop_default_constraint " + tableName + ", " + columnName);
}
private void setDefaultValue(DdlWrite writer, String tableName, String columnName, String defaultValue) {
writer.apply().append("alter table ").append(tableName)
.append(" add default ").append(convertDefaultValue(defaultValue)).append(" for ").append(columnName)
.endOfStatement();
alterTable(writer, tableName).append("add default " + convertDefaultValue(defaultValue) + " for", columnName);
}
}
@@ -60,27 +60,25 @@ public class SqlServerHistoryDdl implements PlatformHistoryDdl {
@Override
public void dropHistoryTable(DdlWrite writer, DropHistoryTable dropHistoryTable) {
String baseTable = dropHistoryTable.getBaseTable();
DdlBuffer apply = writer.applyHistoryView();
apply.append("-- dropping history support for ").append(baseTable).endOfStatement();
// drop default constraints
DdlWrite tmpWriter = new DdlWrite();
AlterColumn alter = new AlterColumn();
alter.setTableName(baseTable);
alter.setDefaultValue(DdlHelp.DROP_DEFAULT);
alter.setColumnName(systemPeriodStart);
platformDdl.alterColumn(tmpWriter, alter);
platformDdl.alterColumn(writer, alter);
alter.setColumnName(systemPeriodEnd);
platformDdl.alterColumn(tmpWriter, alter);
apply.append(tmpWriter.apply().getBuffer()); // workaround - will be refactored later
platformDdl.alterColumn(writer, alter);
// switch of versioning & period
// switch of versioning & period - must be done before altering
DdlBuffer apply = writer.apply();
apply.append("-- dropping history support for ").append(baseTable).endOfStatement();
apply.append("alter table ").append(baseTable).append(" set (system_versioning = off)").endOfStatement();
apply.append("alter table ").append(baseTable).append(" drop period for system_time").endOfStatement();
// now drop tables & columns
apply.append("alter table ").append(baseTable).append(" drop column ").append(systemPeriodStart).endOfStatement();
apply.append("alter table ").append(baseTable).append(" drop column ").append(systemPeriodEnd).endOfStatement();
apply.append("IF OBJECT_ID('").append(baseTable).append("_history', 'U') IS NOT NULL drop table ").append(baseTable).append("_history").endOfStatement();
apply.end();
// now drop tables & columns, they will go to alter table/post alter buffers
platformDdl.alterTableDropColumn(writer, baseTable, systemPeriodStart);
platformDdl.alterTableDropColumn(writer, baseTable, systemPeriodEnd);
writer.applyPostAlter().appendStatement(platformDdl.dropTable(baseTable + "_history"));
}
@Override
@@ -47,15 +47,15 @@ public class BaseDdlHandlerTest extends BaseTestCase {
DdlWrite writer = new DdlWrite();
h2Handler().generate(writer, Helper.getAddColumn());
assertThat(writer.toString()).isEqualTo("alter table foo add column added_to_foo varchar(20);\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column added_to_foo varchar(20);\n");
writer = new DdlWrite();
sqlserverHandler().generate(writer, Helper.getAddColumn());
assertThat(writer.toString()).isEqualTo("alter table foo add added_to_foo nvarchar(20);\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add added_to_foo nvarchar(20);\n");
writer = new DdlWrite();
hanaHandler().generate(writer, Helper.getAddColumn());
assertThat(writer.toString()).isEqualTo("alter table foo add (added_to_foo nvarchar(20));\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add (added_to_foo nvarchar(20));\n");
}
@Test
@@ -63,13 +63,13 @@ public class BaseDdlHandlerTest extends BaseTestCase {
DdlWrite writer = new DdlWrite();
h2Handler().generate(writer, Helper.getAlterTableAddColumnWithCheckConstraint());
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");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column status integer;\n"
+ "-- apply post alter\nalter table foo add constraint ck_ordering_status check ( status in (0,1));\n");
writer = new DdlWrite();
hanaHandler().generate(writer, Helper.getAlterTableAddColumnWithCheckConstraint());
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");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add (status integer);\n"
+ "-- apply post alter\nalter table foo add constraint ck_ordering_status check ( status in (0,1));\n");
}
/**
@@ -83,20 +83,20 @@ public class BaseDdlHandlerTest extends BaseTestCase {
DdlHandler postgresHandler = postgresHandler();
postgresHandler.generate(writer, Helper.getAlterTableAddDbArrayColumn());
assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_added_to_foo varchar[];\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column dbarray_added_to_foo varchar[];\n");
writer = new DdlWrite();
DdlHandler sqlserverHandler = sqlserverHandler();
sqlserverHandler.generate(writer, Helper.getAlterTableAddDbArrayColumn());
assertThat(writer.toString()).isEqualTo("alter table foo add dbarray_added_to_foo varchar(1000);\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add dbarray_added_to_foo varchar(1000);\n");
writer = new DdlWrite();
DdlHandler hanaHandler = hanaHandler();
hanaHandler.generate(writer, Helper.getAlterTableAddDbArrayColumn());
assertThat(writer.toString())
.isEqualTo("alter table foo add (dbarray_added_to_foo nvarchar(255) array);\n");
.isEqualTo("-- apply alter tables\nalter table foo add (dbarray_added_to_foo nvarchar(255) array);\n");
}
@Test
@@ -105,24 +105,24 @@ public class BaseDdlHandlerTest extends BaseTestCase {
DdlWrite writer = new DdlWrite();
postgresHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength());
assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_ninety varchar[];\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column dbarray_ninety varchar[];\n");
writer = new DdlWrite();
h2Handler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength());
if (useV1Syntax) {
assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_ninety array;\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column dbarray_ninety array;\n");
} else {
assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_ninety varchar array;\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column dbarray_ninety varchar array;\n");
}
writer = new DdlWrite();
sqlserverHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength());
assertThat(writer.toString()).isEqualTo("alter table foo add dbarray_ninety varchar(90);\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add dbarray_ninety varchar(90);\n");
writer = new DdlWrite();
hanaHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnWithLength());
assertThat(writer.toString())
.isEqualTo("alter table foo add (dbarray_ninety nvarchar(255) array(90));\n");
.isEqualTo("-- apply alter tables\nalter table foo add (dbarray_ninety nvarchar(255) array(90));\n");
}
@Test
@@ -130,31 +130,31 @@ public class BaseDdlHandlerTest extends BaseTestCase {
DdlWrite writer = new DdlWrite();
postgresHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength());
assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_integer integer[];\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column dbarray_integer integer[];\n");
writer = new DdlWrite();
h2Handler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength());
if (useV1Syntax) {
assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_integer array;\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column dbarray_integer array;\n");
} else {
assertThat(writer.toString()).isEqualTo("alter table foo add column dbarray_integer integer array;\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add column dbarray_integer integer array;\n");
}
writer = new DdlWrite();
sqlserverHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength());
assertThat(writer.toString()).isEqualTo("alter table foo add dbarray_integer varchar(90);\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add dbarray_integer varchar(90);\n");
writer = new DdlWrite();
sqlserverHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnInteger());
assertThat(writer.toString()).isEqualTo("alter table foo add dbarray_integer varchar(1000);\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add dbarray_integer varchar(1000);\n");
writer = new DdlWrite();
hanaHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnIntegerWithLength());
assertThat(writer.toString()).isEqualTo("alter table foo add (dbarray_integer integer array(90));\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add (dbarray_integer integer array(90));\n");
writer = new DdlWrite();
hanaHandler().generate(writer, Helper.getAlterTableAddDbArrayColumnInteger());
assertThat(writer.toString()).isEqualTo("alter table foo add (dbarray_integer integer array);\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo add (dbarray_integer integer array);\n");
}
@Test
@@ -166,7 +166,7 @@ public class BaseDdlHandlerTest extends BaseTestCase {
handler.generate(writer, Helper.getAlterTableAddColumn());
String buffer = writer.toString();
assertThat(buffer).contains("alter table foo add column some_id integer;");
assertThat(buffer).contains("-- apply alter tables\nalter table foo add column some_id integer;");
String fkBuffer = writer.applyForeignKeys().getBuffer();
assertThat(fkBuffer).contains(
@@ -183,7 +183,7 @@ public class BaseDdlHandlerTest extends BaseTestCase {
handler.generate(writer, Helper.getDropColumn());
assertThat(writer.toString()).isEqualTo("alter table foo drop column col2;\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nalter table foo drop column col2;\n");
assertThat(writer.dropAll().getBuffer()).isEqualTo("");
writer = new DdlWrite();
@@ -191,7 +191,7 @@ public class BaseDdlHandlerTest extends BaseTestCase {
hanaHandler.generate(writer, Helper.getDropColumn());
assertThat(writer.toString()).isEqualTo("CALL usp_ebean_drop_column('foo', 'col2');\n");
assertThat(writer.toString()).isEqualTo("-- apply alter tables\nCALL usp_ebean_drop_column('foo', 'col2');\n");
assertThat(writer.dropAll().getBuffer()).isEqualTo("");
}
@@ -106,8 +106,8 @@ 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",
assertEquals("-- apply alter tables\nalter table my_table add column my_column int;\n"
+ "-- apply post alter\ncomment on column my_table.my_column is 'some comment';\n",
writer.toString());
}
@@ -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.toString());
assertEquals("-- apply alter tables\nCALL usp_ebean_drop_column('my_table', 'my_column');\n", writer.toString());
}
@Test
@@ -34,7 +34,8 @@ 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",
assertEquals(
"-- apply alter tables\nalter table my_table add (my_column int default 1 not null);\n-- apply post alter\nalter table my_table add constraint check_constraint CHECK(my_column > 0);\n",
writer.toString());
}
}
@@ -19,7 +19,6 @@ import io.ebeaninternal.dbmigration.migration.Column;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import org.assertj.core.api.SoftAssertions;
public class PlatformDdl_AlterColumnTest {
@@ -101,36 +100,40 @@ public class PlatformDdl_AlterColumnTest {
alter.setType("varchar(50)"); // and alter type
String sql = alterColumn(h2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol varchar(50);\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol varchar(50);\n"
+ "alter table mytab alter column acol set default 'hi';\n"
+ "alter table mytab alter column acol set not null;\n");
sql = alterColumn(pgDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\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");
sql = alterColumn(oraDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab modify acol varchar2(50);\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab modify acol varchar2(50);\n"
+ "alter table mytab modify acol default 'hi';\n"
+ "alter table mytab modify acol not null;\n");
sql = alterColumn(mysqlDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab modify acol varchar(50) not null default 'hi';\n");
sql = alterColumn(sqlServerDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\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("-- apply alter tables\n"
+ "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"
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol set data type varchar(50);\n"
+ "alter table mytab alter column acol set default 'hi';\n"
+ "alter table mytab alter column acol set not null;\n");
@@ -141,31 +144,36 @@ public class PlatformDdl_AlterColumnTest {
alter.setType(null); // do not alter type
sql = alterColumn(h2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol drop default;\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol drop default;\n"
+ "alter table mytab alter column acol set null;\n");
sql = alterColumn(pgDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol drop default;\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol drop default;\n"
+ "alter table mytab alter column acol drop not null;\n");
sql = alterColumn(oraDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab modify acol default null;\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab modify acol default null;\n"
+ "alter table mytab modify acol null;\n");
sql = alterColumn(mysqlDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab modify acol varchar(5);\n");
sql = alterColumn(sqlServerDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\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("-- apply alter tables\n"
+ "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"
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol drop default;\n"
+ "alter table mytab alter column acol drop not null;\n");
}
@@ -180,40 +188,50 @@ public class PlatformDdl_AlterColumnTest {
alter.setType("varchar(20)");
String sql = alterColumn(h2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol varchar(20);\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol varchar(20);\n");
sql = alterColumn(pgDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab alter column acol type varchar(20) using acol::varchar(20);\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter 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");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab modify acol varchar2(20);\n");
sql = alterColumn(mysqlDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab modify acol varchar(20);\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab modify acol varchar(20);\n");
sql = alterColumn(sqlServerDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab alter column acol nvarchar(20);\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter 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("-- apply alter tables\n"
+ "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");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol set data type varchar(20);\n");
alter.setType("bigint");
sql = alterColumn(pgDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab alter column acol type bigint using acol::bigint;\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter 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"
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "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"
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter (acol nclob);\n"
+ "alter table mytab alter (acol nvarchar(10));\n");
}
@@ -228,27 +246,32 @@ public class PlatformDdl_AlterColumnTest {
alter.setNotnull(Boolean.TRUE);
String sql = alterColumn(h2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set not null;\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol set not null;\n");
sql = alterColumn(pgDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set not null;\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol set not null;\n");
sql = alterColumn(oraDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab modify acol not null;\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab modify acol not null;\n");
sql = alterColumn(mysqlDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab modify acol varchar(20) not null;\n");
sql = alterColumn(sqlServerDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\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("-- apply alter tables\n"
+ "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");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol set not null;\n");
}
@@ -264,27 +287,34 @@ public class PlatformDdl_AlterColumnTest {
alter.setNotnull(Boolean.FALSE);
String sql = alterColumn(h2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set null;\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol set null;\n");
sql = alterColumn(pgDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol drop not null;\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol drop not null;\n");
sql = alterColumn(oraDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab modify acol null;\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab modify acol null;\n");
sql = alterColumn(mysqlDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\nalter table mytab modify acol varchar(20) default 'hi';\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab modify acol varchar(20) default 'hi';\n");
sql = alterColumn(sqlServerDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\nEXEC usp_ebean_drop_default_constraint mytab, acol;\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "EXEC 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("-- apply alter tables\n"
+ "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");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol drop not null;\n");
}
@Test
@@ -297,27 +327,33 @@ public class PlatformDdl_AlterColumnTest {
alter.setDefaultValue("'hi'");
String sql = alterColumn(h2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set default 'hi';\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol set default 'hi';\n");
sql = alterColumn(pgDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set default 'hi';\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol set default 'hi';\n");
sql = alterColumn(oraDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab modify acol default 'hi';\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab modify acol default 'hi';\n");
sql = alterColumn(mysqlDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter acol set default 'hi';\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter acol set default 'hi';\n");
sql = alterColumn(sqlServerDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\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("-- apply alter tables\n"
+ "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");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol set default 'hi';\n");
}
@Test
@@ -331,26 +367,33 @@ public class PlatformDdl_AlterColumnTest {
alter.setDefaultValue("'hi'");
String sql = alterColumn(h2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set default 'hi';\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol set default 'hi';\n");
sql = alterColumn(pgDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol set default 'hi';\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol set default 'hi';\n");
sql = alterColumn(oraDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab modify acol default 'hi';\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab modify acol default 'hi';\n");
sql = alterColumn(mysqlDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter acol set default 'hi';\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter acol set default 'hi';\n");
sql = alterColumn(sqlServerDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\nEXEC usp_ebean_drop_default_constraint mytab, acol;\n"
softly.assertThat(sql).isEqualTo("-- apply alter tables\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("-- apply alter tables\n"
+ "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");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol set default 'hi';\n");
}
@Test
@@ -365,25 +408,32 @@ public class PlatformDdl_AlterColumnTest {
alter.setDefaultValue("DROP DEFAULT");
String sql = alterColumn(h2Ddl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol drop default;\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol drop default;\n");
sql = alterColumn(pgDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter column acol drop default;\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol drop default;\n");
sql = alterColumn(oraDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab modify acol default null;\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab modify acol default null;\n");
sql = alterColumn(mysqlDdl, alter);
softly.assertThat(sql).isEqualTo("alter table mytab alter acol drop default;\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter acol drop default;\n");
sql = alterColumn(sqlServerDdl, alter);
softly.assertThat(sql).isEqualTo("-- apply changes\nEXEC usp_ebean_drop_default_constraint mytab, acol;\n");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "EXEC 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("-- apply alter tables\n"
+ "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");
softly.assertThat(sql).isEqualTo("-- apply alter tables\n"
+ "alter table mytab alter column acol drop default;\n");
}
@@ -392,7 +442,8 @@ public class PlatformDdl_AlterColumnTest {
DdlWrite writer = new DdlWrite();
oraDdl.alterTableAddColumn(writer, "my_table", simpleColumn(), false, "1");
softly.assertThat(writer.toString())
.isEqualTo("alter table my_table add my_column int default 1 not null;\n");
.isEqualTo("-- apply alter tables\n"
+ "alter table my_table add my_column int default 1 not null;\n");
}
private Column simpleColumn() {
@@ -7,7 +7,6 @@ create table foo (
);
comment on table foo is 'comment';
-- apply alter tables
alter table foo add column added_to_foo varchar(20);
alter table foo drop column col2;
@@ -21,6 +21,7 @@ create table ckey_parent (
constraint pk_ckey_parent primary key (one_key,two_key)
);
-- foreign keys and indices
create index ix_ckey_detail_parent on ckey_detail (one_key,two_key);
alter table ckey_detail add constraint fk_ckey_detail_parent foreign key (one_key,two_key) references ckey_parent (one_key,two_key) on delete restrict on update restrict;
@@ -13,6 +13,7 @@ create table phones (
constraint pk_phones primary key (id)
);
-- foreign keys and indices
create index ix_phones_person_id on phones (person_id);
alter table phones add constraint fk_phones_person_id foreign key (person_id) references persons (id) on delete restrict on update restrict;
@@ -13,6 +13,7 @@ create table phones (
constraint pk_phones primary key (id)
);
-- foreign keys and indices
create index ix_phones_person_id on phones (person_id);
alter table phones add constraint fk_phones_person_id foreign key (person_id) references persons (id) on delete restrict on update restrict not valid;
@@ -4,17 +4,21 @@ import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.slf4j.MDC;
import io.ebean.config.MdcBackgroundExecutorWrapper;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class DefaultBackgroundExecutorTest {
@Test
public void submit_callable() throws Exception {
DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, 2, "test");
DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, 2, "test", null);
final Future<String> future0 = es.submit(() -> "Hello");
final Future<String> future1 = es.submit(() -> "There");
@@ -39,7 +43,7 @@ public class DefaultBackgroundExecutorTest {
public void shutdown_slowCallable_expect_interrupted() throws Exception {
int shutdownWaitSecs = 1;
DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, shutdownWaitSecs, "test");
DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, shutdownWaitSecs, "test", null);
final Future<String> future2 = es.submit(() -> {
try {
@@ -61,7 +65,7 @@ public class DefaultBackgroundExecutorTest {
@Disabled("test takes long time")
public void shutdown_when_running_expect_waitAndNiceShutdown() {
DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, 20, "test");
DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, 20, "test", null);
es.execute(new RunFor(3000, "a"));
es.execute(new RunFor(3000, "b"));
@@ -74,7 +78,7 @@ public class DefaultBackgroundExecutorTest {
@Disabled("test takes long time")
public void shutdown_when_rougeRunnable_expect_InterruptedException() {
DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, 10, "test");
DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, 10, "test", null);
es.execute(new RunFor(300000, "a"));
es.execute(new RunFor(3000, "b"));
@@ -85,12 +89,12 @@ public class DefaultBackgroundExecutorTest {
@Test
public void wrapWithNoMDC() {
DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, 10, "test");
DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, 10, "test", null);
assertThat(MDC.getCopyOfContextMap()).isNull();
es.wrapMDC(() -> {
es.wrap(() -> {
assertThat(MDC.getCopyOfContextMap()).isNull();
});
es.wrapMDC(() -> {
es.wrap(() -> {
assertThat(MDC.getCopyOfContextMap()).isNull();
return "Callable";
});
@@ -98,25 +102,44 @@ public class DefaultBackgroundExecutorTest {
}
@Test
public void wrapWithMDC_expect_() {
DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, 10, "test");
public void wrapWithMDC_expect_() throws Exception {
DefaultBackgroundExecutor es = new DefaultBackgroundExecutor(1, 10, "test", new MdcBackgroundExecutorWrapper());
// MDC has a copyOnThread map. So we must pass different values to check if the test will work
MDC.clear();
es.submit(()->{
assertThat(MDC.get("hello")).isNull();
}).get();
MDC.put("hello", "there");
es.wrapMDC(() -> {
es.wrap(() -> {
assertThat(MDC.get("hello")).isEqualTo("there");
});
es.wrapMDC(() -> {
}).run(); // will clear the MDC. But this should be OK
MDC.put("hello", "there");
es.wrap(() -> {
assertThat(MDC.get("hello")).isEqualTo("there");
return "Callable";
});
}).call(); // will clear the MDC. But this should be OK
MDC.put("hello", "there");
CountDownLatch latch = new CountDownLatch(1);
es.execute(() -> {
// the assertion is executed async, so it will only logged on console
assertThat(MDC.get("hello")).isEqualTo("there");
latch.countDown();
});
assertTrue(latch.await(5, TimeUnit.SECONDS));
es.submit(() -> {
assertThat(MDC.get("hello")).isEqualTo("there");
return "Callable";
});
}).get();
MDC.clear();
es.execute(()->{
assertThat(MDC.get("hello")).isNull();
});
es.shutdown();
}
@@ -0,0 +1,108 @@
package org.tests.cache;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.util.concurrent.Callable;
import org.junit.jupiter.api.Test;
import org.tests.model.basic.OCachedBean;
import io.ebean.BaseTestCase;
import io.ebean.DB;
import io.ebean.Database;
import io.ebean.DatabaseFactory;
import io.ebean.config.BackgroundExecutorWrapper;
import io.ebean.config.CurrentTenantProvider;
import io.ebean.config.DatabaseConfig;
import io.ebean.config.MdcBackgroundExecutorWrapper;
import io.ebeaninternal.server.cache.DefaultServerCachePlugin;
/**
* Test class testing async/background cache updates in a multi-tenant environment.
*/
public class TestBeanCacheAsync extends BaseTestCase {
private final ThreadLocal<String> tenantId = new ThreadLocal<>();
class ThreadLocalTenantProvider implements CurrentTenantProvider {
@Override
public Object currentId() {
return tenantId.get();
}
}
/**
* Copy tenant info to the background thread.
*/
class TenantCopyBackgroundExecutorWrapper implements BackgroundExecutorWrapper {
@Override
public <T> Callable<T> wrap(Callable<T> task) {
String tenant = tenantId.get(); // executed in current thread
return () -> {
tenantId.set(tenant); // executed in other thread
try {
return task.call();
} finally {
tenantId.remove();
}
};
}
@Override
public Runnable wrap(Runnable task) {
String tenant = tenantId.get();
return () -> {
tenantId.set(tenant);
try {
task.run();
} finally {
tenantId.remove();
}
};
}
}
@Test
public void findById_with_tenant() throws InterruptedException {
DatabaseConfig config = new DatabaseConfig();
config.setName(DB.getDefault().name());
config.loadFromProperties();
config.setDataSource(DB.getDefault().dataSource());
config.setReadOnlyDataSource(DB.getDefault().readOnlyDataSource());
config.setDdlExtra(false);
config.setDdlGenerate(false);
config.setDdlRun(false);
config.setDefaultServer(false);
config.setRegister(false);
config.setServerCachePlugin(new DefaultServerCachePlugin()); // disables foreground local caching (as it is done in Hz/Ignite)
config.setCurrentTenantProvider(new ThreadLocalTenantProvider());
config.setBackgroundExecutorWrapper(
new MdcBackgroundExecutorWrapper().with(new TenantCopyBackgroundExecutorWrapper()));
tenantId.set("4711");
Database db = DatabaseFactory.create(config);
try {
OCachedBean bean = new OCachedBean();
bean.setName("findById");
db.save(bean);
OCachedBean bean0 = db.find(OCachedBean.class, bean.getId());
assertNotNull(bean0);
assertThat(bean0.getName()).isEqualTo("findById");
bean0.setName("findById2");
db.save(bean0);
Thread.sleep(100); // TODO: can we block finds on that ID if a pending cache update is present?
bean0 = db.find(OCachedBean.class, bean.getId());
assertNotNull(bean0);
assertThat(bean0.getName()).isEqualTo("findById2");
} finally {
db.shutdown(false, false);
}
}
}
@@ -4,9 +4,11 @@ create table migtest_e_history7 (
id integer generated by default as identity not null,
constraint pk_migtest_e_history7 primary key (id)
);
-- apply alter tables
alter table migtest_e_history7 add column sys_period_start timestamp default now();
alter table migtest_e_history7 add column sys_period_end timestamp;
-- apply post alter
create table migtest_e_history7_history(
id integer,
sys_period_start timestamp,
@@ -14,4 +16,5 @@ create table migtest_e_history7_history(
);
create view migtest_e_history7_with_history as select * from migtest_e_history7 union all select * from migtest_e_history7_history;
-- apply history trigger
create trigger migtest_e_history7_history_upd before update,delete on migtest_e_history7 for each row call "io.ebean.config.dbplatform.h2.H2HistoryTrigger";
@@ -4,5 +4,6 @@ drop trigger migtest_e_history7_history_upd;
drop view migtest_e_history7_with_history;
drop table migtest_e_history7_history;
-- apply alter tables
alter table migtest_e_history7 drop column sys_period_start;
alter table migtest_e_history7 drop column sys_period_end;
@@ -26,24 +26,18 @@ create table migtest_mtm_m_phone_numbers (
) ENGINE = Log();
update migtest_e_basic set status = 'A' where status is null;
-- rename all collisions;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-- 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;
-- apply alter tables
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;
@@ -71,6 +65,7 @@ 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;
-- apply post alter
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
@@ -1,8 +1,10 @@
-- Migrationscripts for ebean unittest
-- apply alter tables
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;
-- apply post alter
drop table if exists migtest_e_ref;
@@ -19,10 +19,9 @@ 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;
-- apply alter tables
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;
@@ -43,6 +42,7 @@ alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 set 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;
-- apply post alter
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);
@@ -1,4 +1,5 @@
-- Migrationscripts for ebean unittest
-- apply alter tables
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;
@@ -13,6 +14,7 @@ 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;
-- apply post alter
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;
@@ -1,6 +1,6 @@
-697238714, 1.0__initial.sql
-1730180752, 1.1.sql
-155876508, 1.2__dropsFor_1.1.sql
1059765262, 1.3.sql
767202122, 1.4__dropsFor_1.3.sql
-1523257380, 1.1.sql
1279151426, 1.2__dropsFor_1.1.sql
14388492, 1.3.sql
80209848, 1.4__dropsFor_1.3.sql
@@ -162,8 +162,7 @@ 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);
-- foreign keys and indices
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;
@@ -173,3 +172,5 @@ 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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
@@ -33,24 +33,18 @@ create table migtest_mtm_m_phone_numbers (
);
update migtest_e_basic set status = 'A' where status is null;
-- rename all collisions;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-- 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;
-- apply alter tables
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;
@@ -78,6 +72,7 @@ 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;
-- apply post alter
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
@@ -88,8 +83,7 @@ alter table migtest_e_basic add constraint uq_migtest_e_basic_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);
-- foreign keys and indices
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;
@@ -116,3 +110,5 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
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 index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
@@ -1,10 +1,11 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence if exists migtest_e_ref_seq;
-- apply alter tables
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;
-- apply post alter
drop table if exists migtest_e_ref cascade;
drop sequence if exists migtest_e_ref_seq;
@@ -29,10 +29,9 @@ 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;
-- apply alter tables
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);
@@ -53,15 +52,17 @@ alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 drop not 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;
-- apply post alter
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);
-- foreign keys and indices
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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
@@ -1,6 +1,5 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence if exists migtest_e_user_seq;
-- apply alter tables
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;
@@ -15,7 +14,9 @@ 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;
-- apply post alter
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;
@@ -1,7 +1,7 @@
-1611775717, 1.0__initial.sql
-1338613903, 1.1.sql
-1958981572, 1.2__dropsFor_1.1.sql
1074808242, 1.3.sql
546721540, 1.4__dropsFor_1.3.sql
246318791, 1.0__initial.sql
1109849447, 1.1.sql
240919209, 1.2__dropsFor_1.1.sql
612721597, 1.3.sql
-820814009, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -159,11 +159,11 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
-- apply post alter
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);
-- foreign keys and indices
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;
@@ -173,3 +173,5 @@ 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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
@@ -33,8 +33,6 @@ create table migtest_mtm_m_phone_numbers (
);
update migtest_e_basic set status = 'A' where status is null;
-- db2 does not support parial null indices :( - so we have to clean;
@@ -42,16 +40,12 @@ update migtest_e_basic set status = 'N' where id = 1;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-- 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;
-- apply alter tables
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;
@@ -79,6 +73,7 @@ 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;
-- apply post alter
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
@@ -91,8 +86,7 @@ create unique index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4)
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);
-- foreign keys and indices
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;
@@ -119,3 +113,5 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
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;
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
@@ -1,10 +1,11 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence migtest_e_ref_seq;
-- apply alter tables
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;
-- apply post alter
drop table migtest_e_ref;
drop sequence migtest_e_ref_seq;
@@ -28,10 +28,9 @@ 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;
-- apply alter tables
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);
@@ -52,6 +51,7 @@ alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 drop not 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;
-- apply post alter
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'));
@@ -60,10 +60,11 @@ create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(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);
-- foreign keys and indices
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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
@@ -1,6 +1,5 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence migtest_e_user_seq;
-- apply alter tables
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;
@@ -15,7 +14,9 @@ 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;
-- apply post alter
drop table migtest_e_user;
drop sequence migtest_e_user_seq;
drop table migtest_mtm_c_migtest_mtm_m;
drop table migtest_mtm_m_migtest_mtm_c;
drop table migtest_mtm_m_phone_numbers;
@@ -1,7 +1,7 @@
-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
101990988, 1.0__initial.sql
1882152352, 1.1.sql
-2081356955, 1.2__dropsFor_1.1.sql
-1397487290, 1.3.sql
-1610622815, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -159,11 +159,11 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
-- apply post alter
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);
-- foreign keys and indices
create index ix_mgtst_fk_mok1xj on migtest_fk_cascade (one_id);
alter table migtest_fk_cascade add constraint fk_mgtst_fk_65kf6l foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade;
@@ -173,3 +173,5 @@ alter table migtest_fk_set_null add constraint fk_mgtst_fk_wicx8x foreign key (o
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;
create index ix_mgtst__b_eu8csq on migtest_e_basic (indextest1);
create index ix_mgtst__b_eu8csu on migtest_e_basic (indextest5);
@@ -33,8 +33,6 @@ create table migtest_mtm_m_phone_numbers (
);
update migtest_e_basic set status = 'A' where status is null;
-- db2 does not support parial null indices :( - so we have to clean;
@@ -42,16 +40,12 @@ update migtest_e_basic set status = 'N' where id = 1;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-- 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;
-- apply alter tables
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;
@@ -79,6 +73,7 @@ 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;
-- apply post alter
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
@@ -91,8 +86,7 @@ create unique index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4)
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);
-- foreign keys and indices
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;
@@ -119,3 +113,5 @@ alter table migtest_fk_set_null add constraint fk_mgtst_fk_wicx8x foreign key (o
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;
create index ix_mgtst__b_eu8css on migtest_e_basic (indextest3);
create index ix_mgtst__b_eu8csv on migtest_e_basic (indextest6);
@@ -1,10 +1,11 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence migtest_e_ref_seq;
-- apply alter tables
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;
-- apply post alter
drop table migtest_e_ref;
drop sequence migtest_e_ref_seq;
@@ -28,10 +28,9 @@ 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;
-- apply alter tables
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);
@@ -52,6 +51,7 @@ alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 drop not 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;
-- apply post alter
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'));
@@ -60,10 +60,11 @@ create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6)
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);
-- foreign keys and indices
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;
create index ix_mgtst__b_eu8csq on migtest_e_basic (indextest1);
create index ix_mgtst__b_eu8csu on migtest_e_basic (indextest5);
@@ -1,6 +1,5 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence migtest_e_user_seq;
-- apply alter tables
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;
@@ -15,7 +14,9 @@ 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;
-- apply post alter
drop table migtest_e_user;
drop sequence migtest_e_user_seq;
drop table migtest_mtm_c_migtest_mtm_m;
drop table migtest_mtm_m_migtest_mtm_c;
drop table migtest_mtm_m_phone_numbers;
@@ -1,7 +1,7 @@
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
1364985791, 1.0__initial.sql
1265418767, 1.1.sql
-2081356955, 1.2__dropsFor_1.1.sql
-46810481, 1.3.sql
-1610622815, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -159,11 +159,11 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
-- apply post alter
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);
-- foreign keys and indices
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;
@@ -173,3 +173,5 @@ 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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
@@ -33,8 +33,6 @@ create table migtest_mtm_m_phone_numbers (
);
update migtest_e_basic set status = 'A' where status is null;
-- db2 does not support parial null indices :( - so we have to clean;
@@ -42,16 +40,12 @@ update migtest_e_basic set status = 'N' where id = 1;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-- 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;
-- apply alter tables
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;
@@ -79,6 +73,7 @@ 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;
-- apply post alter
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
@@ -91,8 +86,7 @@ create unique index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4)
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);
-- foreign keys and indices
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;
@@ -119,3 +113,5 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
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;
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
@@ -1,10 +1,11 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence migtest_e_ref_seq;
-- apply alter tables
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;
-- apply post alter
drop table migtest_e_ref;
drop sequence migtest_e_ref_seq;
@@ -28,10 +28,9 @@ 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;
-- apply alter tables
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);
@@ -52,6 +51,7 @@ alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 drop not 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;
-- apply post alter
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'));
@@ -60,10 +60,11 @@ create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(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);
-- foreign keys and indices
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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
@@ -1,6 +1,5 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence migtest_e_user_seq;
-- apply alter tables
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;
@@ -15,7 +14,9 @@ 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;
-- apply post alter
drop table migtest_e_user;
drop sequence migtest_e_user_seq;
drop table migtest_mtm_c_migtest_mtm_m;
drop table migtest_mtm_m_migtest_mtm_c;
drop table migtest_mtm_m_phone_numbers;
@@ -1,7 +1,7 @@
-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
840828324, 1.0__initial.sql
-1269751430, 1.1.sql
-2081356955, 1.2__dropsFor_1.1.sql
-998558087, 1.3.sql
-1610622815, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -159,11 +159,11 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
-- apply post alter
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);
-- foreign keys and indices
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;
@@ -173,3 +173,5 @@ 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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
@@ -33,8 +33,6 @@ create table migtest_mtm_m_phone_numbers (
);
update migtest_e_basic set status = 'A' where status is null;
-- db2 does not support parial null indices :( - so we have to clean;
@@ -42,16 +40,12 @@ update migtest_e_basic set status = 'N' where id = 1;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-- 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;
-- apply alter tables
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;
@@ -79,6 +73,7 @@ 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;
-- apply post alter
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
@@ -91,8 +86,7 @@ create unique index uq_migtest_e_basic_indextest4 on migtest_e_basic(indextest4)
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);
-- foreign keys and indices
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;
@@ -119,3 +113,5 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
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;
create index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
@@ -1,10 +1,11 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence migtest_e_ref_seq;
-- apply alter tables
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;
-- apply post alter
drop table migtest_e_ref;
drop sequence migtest_e_ref_seq;
@@ -28,10 +28,9 @@ 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;
-- apply alter tables
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);
@@ -52,6 +51,7 @@ alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 drop not 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;
-- apply post alter
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'));
@@ -60,10 +60,11 @@ create unique index uq_migtest_e_basic_indextest6 on migtest_e_basic(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);
-- foreign keys and indices
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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
@@ -1,6 +1,5 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence migtest_e_user_seq;
-- apply alter tables
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;
@@ -15,7 +14,9 @@ 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;
-- apply post alter
drop table migtest_e_user;
drop sequence migtest_e_user_seq;
drop table migtest_mtm_c_migtest_mtm_m;
drop table migtest_mtm_m_migtest_mtm_c;
drop table migtest_mtm_m_phone_numbers;
@@ -1,7 +1,7 @@
-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
840828324, 1.0__initial.sql
-1269751430, 1.1.sql
-2081356955, 1.2__dropsFor_1.1.sql
-998558087, 1.3.sql
-1610622815, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -162,8 +162,7 @@ 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);
-- foreign keys and indices
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;
@@ -173,3 +172,5 @@ 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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
@@ -33,24 +33,18 @@ create table migtest_mtm_m_phone_numbers (
);
update migtest_e_basic set status = 'A' where status is null;
-- rename all collisions;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-- 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;
-- apply alter tables
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;
@@ -78,6 +72,7 @@ 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;
-- apply post alter
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
@@ -90,8 +85,7 @@ alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique
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);
-- foreign keys and indices
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;
@@ -118,3 +112,5 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
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 index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
@@ -1,8 +1,10 @@
-- Migrationscripts for ebean unittest
-- apply alter tables
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;
-- apply post alter
drop table if exists migtest_e_ref;
@@ -29,10 +29,9 @@ 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;
-- apply alter tables
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);
@@ -53,6 +52,7 @@ alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 set 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;
-- apply post alter
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);
@@ -60,10 +60,11 @@ alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique
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);
-- foreign keys and indices
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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
@@ -1,4 +1,5 @@
-- Migrationscripts for ebean unittest
-- apply alter tables
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;
@@ -13,6 +14,7 @@ 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;
-- apply post alter
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;
@@ -1,6 +1,6 @@
-2041271676, 1.0__initial.sql
1297418193, 1.1.sql
-155876508, 1.2__dropsFor_1.1.sql
-228806652, 1.3.sql
767202122, 1.4__dropsFor_1.3.sql
-1254950549, 1.0__initial.sql
-905429129, 1.1.sql
1279151426, 1.2__dropsFor_1.1.sql
110210997, 1.3.sql
80209848, 1.4__dropsFor_1.3.sql
@@ -99,32 +99,24 @@ 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,
@@ -132,8 +124,6 @@ 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,
@@ -172,6 +162,18 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
-- apply alter tables
alter table migtest_e_history2 add column sys_period_start timestamp default now();
alter table migtest_e_history2 add column sys_period_end timestamp;
alter table migtest_e_history3 add column sys_period_start timestamp default now();
alter table migtest_e_history3 add column sys_period_end timestamp;
alter table migtest_e_history4 add column sys_period_start timestamp default now();
alter table migtest_e_history4 add column sys_period_end timestamp;
alter table migtest_e_history5 add column sys_period_start timestamp default now();
alter table migtest_e_history5 add column sys_period_end timestamp;
alter table migtest_e_history6 add column sys_period_start timestamp default now();
alter table migtest_e_history6 add column sys_period_end timestamp;
-- apply post alter
create table migtest_e_history2_history(
id integer,
test_string varchar(255),
@@ -215,8 +217,7 @@ 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);
-- foreign keys and indices
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;
@@ -226,6 +227,9 @@ 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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-- apply history trigger
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";
@@ -37,26 +37,18 @@ create table migtest_mtm_m_phone_numbers (
);
update migtest_e_basic set status = 'A' where status is null;
-- rename all collisions;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
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;
-- apply alter tables
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;
@@ -71,6 +63,8 @@ alter table migtest_e_basic add column new_boolean_field boolean default true no
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 add column sys_period_start timestamp default now();
alter table migtest_e_history add column sys_period_end timestamp;
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;
@@ -89,6 +83,7 @@ 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;
-- apply post alter
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
@@ -109,8 +104,7 @@ create view migtest_e_history_with_history as select * from migtest_e_history un
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);
-- foreign keys and indices
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;
@@ -137,6 +131,9 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
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 index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-- apply history view
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;
@@ -145,6 +142,7 @@ create view migtest_e_history4_with_history as select * from migtest_e_history4
create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
-- apply history trigger
create trigger migtest_e_history_history_upd before update,delete on migtest_e_history for each row call "io.ebean.config.dbplatform.h2.H2HistoryTrigger";
-- changes: [add test_string2, add test_string3, add new_column]
drop trigger migtest_e_history2_history_upd;
@@ -1,8 +1,7 @@
-- Migrationscripts for ebean unittest
-- drop dependencies
drop view if exists migtest_e_history2_with_history;
-- apply changes
drop sequence if exists migtest_e_ref_seq;
-- apply alter tables
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;
@@ -11,9 +10,13 @@ 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;
-- apply post alter
drop table if exists migtest_e_ref;
drop sequence if exists migtest_e_ref_seq;
-- apply history view
create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history;
-- apply history trigger
-- changes: [drop obsolete_string1, drop obsolete_string2]
drop trigger migtest_e_history2_history_upd;
create trigger migtest_e_history2_history_upd before update,delete on migtest_e_history2 for each row call "io.ebean.config.dbplatform.h2.H2HistoryTrigger";
@@ -32,10 +32,9 @@ 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;
-- apply alter tables
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);
@@ -59,6 +58,7 @@ alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 set 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;
-- apply post alter
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);
@@ -66,19 +66,22 @@ alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique
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);
-- foreign keys and indices
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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-- apply history view
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;
create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history;
-- apply history trigger
-- changes: [add obsolete_string1, add obsolete_string2]
drop trigger migtest_e_history2_history_upd;
create trigger migtest_e_history2_history_upd before update,delete on migtest_e_history2 for each row call "io.ebean.config.dbplatform.h2.H2HistoryTrigger";
@@ -6,8 +6,7 @@ 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;
-- apply alter tables
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;
@@ -28,14 +27,18 @@ 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;
-- apply post alter
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;
-- apply history view
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_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
-- apply history trigger
-- changes: [drop test_string2, drop test_string3, drop new_column]
drop trigger migtest_e_history2_history_upd;
create trigger migtest_e_history2_history_upd before update,delete on migtest_e_history2 for each row call "io.ebean.config.dbplatform.h2.H2HistoryTrigger";
@@ -1,8 +1,8 @@
-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
-698689813, 1.0__initial.sql
2028346373, 1.1.sql
-2063980912, 1.2__dropsFor_1.1.sql
-508824171, 1.3.sql
511468518, 1.4__dropsFor_1.3.sql
783227075, R__multi_comments.sql
561281075, R__order_views.sql
@@ -162,8 +162,8 @@ create column table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
-- 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;
-- apply alter tables
-- foreign keys and indices
-- explicit index "ix_migtest_fk_cascade_one_id" for single column "one_id" of table "migtest_fk_cascade" 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;
@@ -173,6 +173,9 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
-- 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;
-- 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;
-- apply history view
create column table migtest_e_history2_history (
id integer,
test_string nvarchar(255),
@@ -75,29 +75,23 @@ create column table migtest_mtm_m_phone_numbers (
);
update migtest_e_basic set status = 'A' where status is null;
-- rename all collisions;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
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;
-- apply alter tables
alter table migtest_ckey_detail add (one_key integer,
two_key nvarchar(127));
alter table migtest_ckey_parent add (assoc_id integer);
@@ -128,6 +122,7 @@ alter table migtest_e_history6_history alter (test_number1 integer default 42 no
test_number2 integer);
alter table migtest_e_softdelete add (deleted boolean default false not null);
alter table migtest_oto_child add (master_id bigint);
-- apply post alter
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
@@ -145,8 +140,7 @@ alter table migtest_e_history3 add system versioning history table migtest_e_his
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;
-- foreign keys and indices
-- 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;
@@ -173,6 +167,9 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
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;
-- 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;
-- apply history view
create column table migtest_e_history_history (
id integer,
test_string bigint,
@@ -1,8 +1,7 @@
-- Migrationscripts for ebean unittest
-- apply changes
alter table migtest_e_history2 drop system versioning;
-- apply alter tables
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');
@@ -11,5 +10,6 @@ CALL usp_ebean_drop_column('migtest_e_history2', 'obsolete_string1');
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');
-- apply post alter
alter table migtest_e_history2 add system versioning history table migtest_e_history2_history not validated;
drop table migtest_e_ref cascade;
@@ -88,15 +88,14 @@ create column table migtest_e_ref (
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;
-- apply alter tables
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,
@@ -119,6 +118,7 @@ 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);
-- apply post alter
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;
@@ -130,10 +130,11 @@ alter table migtest_e_history2 add system versioning history table migtest_e_his
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;
-- foreign keys and indices
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;
-- 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;
@@ -6,13 +6,8 @@ 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;
-- apply alter tables
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');
@@ -31,6 +26,7 @@ CALL usp_ebean_drop_column('migtest_e_history5', 'test_boolean');
CALL usp_ebean_drop_column('migtest_e_history5_history', 'test_boolean');
CALL usp_ebean_drop_column('migtest_e_softdelete', 'deleted');
CALL usp_ebean_drop_column('migtest_oto_child', 'master_id');
-- apply post alter
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;
@@ -1,8 +1,8 @@
-745347271, I__create_procs.sql
513351138, 1.0__initial.sql
402034887, 1.1.sql
-40882406, 1.2__dropsFor_1.1.sql
1285995142, 1.3.sql
-212925879, 1.4__dropsFor_1.3.sql
1671978053, 1.0__initial.sql
945235204, 1.1.sql
197547825, 1.2__dropsFor_1.1.sql
1030116997, 1.3.sql
1812245353, 1.4__dropsFor_1.3.sql
1906063401, R__order_views_hana.sql
@@ -162,8 +162,7 @@ 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);
-- foreign keys and indices
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;
@@ -173,3 +172,5 @@ 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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
@@ -33,24 +33,18 @@ create table migtest_mtm_m_phone_numbers (
);
update migtest_e_basic set status = 'A' where status is null;
-- rename all collisions;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
-- 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;
-- apply alter tables
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;
@@ -78,6 +72,7 @@ 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;
-- apply post alter
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
@@ -90,8 +85,7 @@ alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique
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);
-- foreign keys and indices
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;
@@ -118,3 +112,5 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
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 index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
@@ -1,10 +1,11 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence if exists migtest_e_ref_seq;
-- apply alter tables
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;
-- apply post alter
drop table if exists migtest_e_ref;
drop sequence if exists migtest_e_ref_seq;
@@ -29,10 +29,9 @@ 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;
-- apply alter tables
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);
@@ -53,6 +52,7 @@ alter table migtest_e_history6 alter column test_number1 drop default;
alter table migtest_e_history6 alter column test_number1 set 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;
-- apply post alter
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);
@@ -60,10 +60,11 @@ alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique
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);
-- foreign keys and indices
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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
@@ -1,6 +1,5 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence if exists migtest_e_user_seq;
-- apply alter tables
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;
@@ -15,7 +14,9 @@ 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;
-- apply post alter
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;
@@ -1,7 +1,7 @@
1469726733, 1.0__initial.sql
-525203491, 1.1.sql
-281614627, 1.2__dropsFor_1.1.sql
-844698846, 1.3.sql
1340995947, 1.4__dropsFor_1.3.sql
442457363, 1.0__initial.sql
-1664513570, 1.1.sql
-300925212, 1.2__dropsFor_1.1.sql
-612892741, 1.3.sql
-972999284, 1.4__dropsFor_1.3.sql
861001272, R__order_views_hsqldb.sql
@@ -159,8 +159,7 @@ 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);
-- foreign keys and indices
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;
@@ -170,6 +169,9 @@ 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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-- apply history view
alter table migtest_e_history2 add system versioning;
alter table migtest_e_history3 add system versioning;
alter table migtest_e_history4 add system versioning;
@@ -30,47 +30,42 @@ create table migtest_mtm_m_phone_numbers (
);
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;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
alter table migtest_e_basic modify user_id integer;
alter table migtest_e_history modify test_string bigint;
-- 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_history4 modify 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_e_history6 modify test_number1 integer not null default 42;
alter table migtest_e_history6 modify test_number2 integer;
-- apply alter tables
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 modify status varchar(1) not null default 'A';
alter table migtest_e_basic modify status2 varchar(127);
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;
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_history modify test_string bigint;
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;
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_e_softdelete add column deleted tinyint(1) default 0 not null;
alter table migtest_oto_child add column master_id bigint;
-- apply post alter
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;
@@ -80,8 +75,7 @@ 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);
-- foreign keys and indices
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;
@@ -108,6 +102,10 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
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 index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-- apply history view
alter table migtest_e_history add system versioning;
-- apply history trigger
lock tables migtest_e_history3 write;
unlock tables;
@@ -1,10 +1,11 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence if exists migtest_e_ref_seq;
-- apply alter tables
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;
-- apply post alter
drop table if exists migtest_e_ref;
drop sequence if exists migtest_e_ref_seq;
@@ -21,37 +21,39 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
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';
update migtest_e_basic set user_id = 23 where user_id is null;
alter table migtest_e_basic modify user_id integer not null default 23;
alter table migtest_e_history2 modify test_string varchar(255);
alter table migtest_e_history4 modify test_number integer;
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;
-- apply alter tables
alter table migtest_e_basic modify status varchar(1);
alter table migtest_e_basic modify status2 varchar(1) not null default 'N';
alter table migtest_e_basic modify 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_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;
alter table migtest_e_history6 modify test_number2 integer not null default 7;
-- apply post alter
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);
-- foreign keys and indices
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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-- apply history trigger
lock tables migtest_e_history3 write;
unlock tables;
@@ -1,6 +1,5 @@
-- Migrationscripts for ebean unittest
-- apply changes
drop sequence if exists migtest_e_user_seq;
-- apply alter tables
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;
@@ -15,8 +14,11 @@ 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;
-- apply post alter
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;
-- apply history view
alter table migtest_e_history drop system versioning;
@@ -1,7 +1,7 @@
-616900688, 1.0__initial.sql
719322817, 1.1.sql
-281614627, 1.2__dropsFor_1.1.sql
-846393359, 1.3.sql
588647554, 1.4__dropsFor_1.3.sql
2035483098, 1.0__initial.sql
-924429039, 1.1.sql
-300925212, 1.2__dropsFor_1.1.sql
-773358828, 1.3.sql
-1978922691, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -159,8 +159,7 @@ 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);
-- foreign keys and indices
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;
@@ -170,6 +169,9 @@ 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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-- apply history view
alter table migtest_e_history2 add system versioning;
alter table migtest_e_history3 add system versioning;
alter table migtest_e_history4 add system versioning;
@@ -30,47 +30,42 @@ create table migtest_mtm_m_phone_numbers (
);
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;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
alter table migtest_e_basic modify user_id integer;
alter table migtest_e_history modify test_string bigint;
-- 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_history4 modify 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_e_history6 modify test_number1 integer not null default 42;
alter table migtest_e_history6 modify test_number2 integer;
-- apply alter tables
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 modify status varchar(1) not null default 'A';
alter table migtest_e_basic modify status2 varchar(127);
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;
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_history modify test_string bigint;
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;
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_e_softdelete add column deleted tinyint(1) default 0 not null;
alter table migtest_oto_child add column master_id bigint;
-- apply post alter
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;
@@ -80,8 +75,7 @@ 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);
-- foreign keys and indices
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;
@@ -108,6 +102,10 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
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 index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-- apply history view
alter table migtest_e_history add system versioning;
-- apply history trigger
lock tables migtest_e_history3 write;
unlock tables;
@@ -1,16 +1,11 @@
-- Migrationscripts for ebean unittest
-- apply changes
-- apply alter tables
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');
CALL usp_ebean_drop_column('migtest_e_history2', 'obsolete_string1');
CALL usp_ebean_drop_column('migtest_e_history2', 'obsolete_string2');
drop sequence if exists migtest_e_ref_seq;
-- apply post alter
drop table if exists migtest_e_ref;
drop sequence if exists migtest_e_ref_seq;
@@ -21,37 +21,39 @@ create table migtest_e_ref (
constraint pk_migtest_e_ref primary key (id)
);
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';
update migtest_e_basic set user_id = 23 where user_id is null;
alter table migtest_e_basic modify user_id integer not null default 23;
alter table migtest_e_history2 modify test_string varchar(255);
alter table migtest_e_history4 modify test_number integer;
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;
-- apply alter tables
alter table migtest_e_basic modify status varchar(1);
alter table migtest_e_basic modify status2 varchar(1) not null default 'N';
alter table migtest_e_basic modify 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_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;
alter table migtest_e_history6 modify test_number2 integer not null default 7;
-- apply post alter
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);
-- foreign keys and indices
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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-- apply history trigger
lock tables migtest_e_history3 write;
unlock tables;
@@ -1,36 +1,24 @@
-- Migrationscripts for ebean unittest
-- apply changes
-- apply alter tables
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');
CALL usp_ebean_drop_column('migtest_e_history2', 'test_string2');
CALL usp_ebean_drop_column('migtest_e_history2', 'test_string3');
CALL usp_ebean_drop_column('migtest_e_history2', 'new_column');
CALL usp_ebean_drop_column('migtest_e_history5', 'test_boolean');
CALL usp_ebean_drop_column('migtest_e_softdelete', 'deleted');
CALL usp_ebean_drop_column('migtest_oto_child', 'master_id');
drop sequence if exists migtest_e_user_seq;
-- apply post alter
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;
-- apply history view
alter table migtest_e_history drop system versioning;
@@ -1,8 +1,8 @@
1835064798, I__create_procs.sql
-616900688, 1.0__initial.sql
719322817, 1.1.sql
1660090057, 1.2__dropsFor_1.1.sql
-846393359, 1.3.sql
2011305151, 1.4__dropsFor_1.3.sql
2035483098, 1.0__initial.sql
-924429039, 1.1.sql
-17652545, 1.2__dropsFor_1.1.sql
-773358828, 1.3.sql
-171059083, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -96,32 +96,24 @@ 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,
@@ -129,8 +121,6 @@ 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,
@@ -169,6 +159,18 @@ create table migtest_oto_master (
constraint pk_migtest_oto_master primary key (id)
);
-- apply alter tables
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);
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);
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);
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);
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);
-- apply post alter
create table migtest_e_history2_history(
id integer,
test_string varchar(255),
@@ -212,8 +214,7 @@ 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);
-- foreign keys and indices
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;
@@ -223,6 +224,9 @@ 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;
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
-- apply history trigger
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);
@@ -34,53 +34,48 @@ create table migtest_mtm_m_phone_numbers (
);
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;
insert into migtest_e_user (id) select distinct user_id from migtest_e_basic;
alter table migtest_e_basic modify user_id integer;
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;
-- 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_history4 modify test_number bigint;
alter table migtest_e_history4_history modify 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_e_history6 modify test_number1 integer not null default 42;
alter table migtest_e_history6 modify test_number2 integer;
-- apply alter tables
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 modify status varchar(1) not null default 'A';
alter table migtest_e_basic modify status2 varchar(127);
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;
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_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_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;
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_e_softdelete add column deleted tinyint(1) default 0 not null;
alter table migtest_oto_child add column master_id bigint;
-- apply post alter
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;
@@ -98,8 +93,7 @@ create table migtest_e_history_history(
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);
-- foreign keys and indices
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;
@@ -126,6 +120,9 @@ alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id for
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 index ix_migtest_e_basic_indextest3 on migtest_e_basic (indextest3);
create index ix_migtest_e_basic_indextest6 on migtest_e_basic (indextest6);
-- apply history view
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;
@@ -134,6 +131,7 @@ create view migtest_e_history4_with_history as select * from migtest_e_history4
create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history;
-- apply history trigger
delimiter $$
create trigger migtest_e_history_history_upd before update on migtest_e_history for each row begin
insert into migtest_e_history_history (sys_period_start,sys_period_end,id, test_string) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_string);

Some files were not shown because too many files have changed in this diff Show More