mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
Merge branch 'master' of github.com:ebean-orm/ebean
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+61
-33
@@ -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");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -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++) {
|
||||
|
||||
+18
-6
@@ -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 @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,
|
||||
* @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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+2
-4
@@ -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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+7
-9
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-5
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+15
@@ -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);
|
||||
}
|
||||
|
||||
+3
-6
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
+4
-7
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
+10
-17
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+9
-11
@@ -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
|
||||
|
||||
+25
-25
@@ -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("");
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
+3
-2
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
+112
-61
@@ -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;
|
||||
|
||||
|
||||
+1
@@ -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;
|
||||
|
||||
|
||||
+1
@@ -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;
|
||||
|
||||
|
||||
+37
-14
@@ -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
|
||||
|
||||
+2
@@ -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);
|
||||
|
||||
+2
@@ -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;
|
||||
|
||||
+4
-4
@@ -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);
|
||||
|
||||
+3
-2
@@ -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);
|
||||
|
||||
+3
-2
@@ -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;
|
||||
|
||||
+5
-5
@@ -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);
|
||||
|
||||
+3
-2
@@ -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);
|
||||
|
||||
+3
-2
@@ -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);
|
||||
|
||||
+3
-2
@@ -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);
|
||||
|
||||
+3
-2
@@ -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;
|
||||
|
||||
+5
-5
@@ -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);
|
||||
|
||||
+3
-2
@@ -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);
|
||||
|
||||
+3
-2
@@ -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);
|
||||
|
||||
+3
-2
@@ -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);
|
||||
|
||||
+3
-2
@@ -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;
|
||||
|
||||
+5
-5
@@ -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);
|
||||
|
||||
+3
-2
@@ -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);
|
||||
|
||||
+3
-2
@@ -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;
|
||||
|
||||
+5
-5
@@ -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
|
||||
|
||||
|
||||
+4
-2
@@ -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;
|
||||
|
||||
+3
-2
@@ -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;
|
||||
|
||||
+4
-2
@@ -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;
|
||||
|
||||
+5
-5
@@ -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;
|
||||
|
||||
+3
-8
@@ -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;
|
||||
|
||||
+4
-16
@@ -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;
|
||||
|
||||
+5
-5
@@ -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
Reference in New Issue
Block a user