Merge pull request #2601 from FOCONIS/ddl-refactor9

Extended @Column support for DB2
This commit is contained in:
Rob Bygrave
2022-03-18 09:25:56 +13:00
committed by GitHub
109 changed files with 485 additions and 82 deletions
@@ -1004,7 +1004,7 @@ public class BeanProperty implements ElPropertyValue, Property, STreeProperty {
* Return the DB column default to use for DDL.
*/
public String dbColumnDefault() {
return dbColumnDefn != null ? null : dbColumnDefault;
return dbColumnDefault;
}
/**
@@ -723,7 +723,7 @@ public class BaseTableDdl implements TableDdl {
dropCheckConstraint(writer, alterColumn, alterColumn.getCheckConstraintName());
}
if (hasValue(alterColumn.getType())
if (typeChange(alterColumn)
|| hasValue(alterColumn.getDefaultValue())
|| alterColumn.isNotnull() != null) {
alterColumn(writer, alterColumn);
@@ -735,6 +735,18 @@ public class BaseTableDdl implements TableDdl {
}
}
private boolean typeChange(AlterColumn alterColumn) {
if (!hasValue(alterColumn.getType())) {
return false;
}
// check, if we have really a type change for that platform
// When specifying @Column("db2;clob(64K)") this would not alter
// other platforms from "String" to "String" for example
String currentType = platformDdl.convert(alterColumn.getCurrentType());
String type = platformDdl.convert(alterColumn.getType());
return !type.equals(currentType);
}
private void alterColumnComment(DdlWrite writer, AlterColumn alterColumn) {
platformDdl.addColumnComment(writer.applyPostAlter(), alterColumn.getTableName(), alterColumn.getColumnName(), alterColumn.getComment());
}
@@ -0,0 +1,77 @@
package io.ebeaninternal.dbmigration.ddlgeneration.platform;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* This class parses the inline column options of a create-statement (see
* https://www.ibm.com/docs/en/db2/11.5?topic=statements-create-table#sdx-synid_frag-column-options) into separate pieces if you
* want to alter a column. The later one has to be done in separate statements: See
* https://www.ibm.com/docs/en/db2/11.5?topic=statements-alter-table#sdx-synid_frag-column-options
*
* <br>
* Note 1: This class parses only 'inline length', 'compact' and 'logged' options<br>
* Note 2: You cannot alter the compact or logged option on an existing column.
*
* @author Roland Praml, FOCONIS AG
*/
public class DB2ColumnOptionsParser {
private static final Pattern INLINE_LENGTH = Pattern.compile(".*( inline length \\d+).*", Pattern.CASE_INSENSITIVE);
private static final Pattern NOT_LOGGED = Pattern.compile(".*?(( not)? logged).*", Pattern.CASE_INSENSITIVE);
private static final Pattern NOT_COMPACT = Pattern.compile(".*?(( not)? compact).*", Pattern.CASE_INSENSITIVE);
private final String type;
private final String inlineLength;
private final boolean logged;
private final boolean compact;
private boolean extraOptions;
DB2ColumnOptionsParser(String def) {
Matcher m = INLINE_LENGTH.matcher(def);
if (m.matches()) {
def = def.replace(m.group(1), "");
inlineLength = m.group(1).trim();
} else {
inlineLength = null;
}
m = NOT_LOGGED.matcher(def);
if (m.matches()) {
extraOptions = true;
def = def.replace(m.group(1), "");
logged = m.group(2) == null;
} else {
logged = true; // default
}
m = NOT_COMPACT.matcher(def);
if (m.matches()) {
extraOptions = true;
def = def.replace(m.group(1), "");
compact = m.group(2) == null;
} else {
compact = false; // default
}
type = def.trim();
}
public String getInlineLength() {
return inlineLength;
}
public String getType() {
return type;
}
public boolean isLogged() {
return logged;
}
public boolean isCompact() {
return compact;
}
public boolean hasExtraOptions() {
return extraOptions;
}
}
@@ -8,6 +8,7 @@ import io.ebean.util.StringHelper;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlAlterTable;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlBuffer;
import io.ebeaninternal.dbmigration.ddlgeneration.DdlWrite;
import io.ebeaninternal.dbmigration.migration.AlterColumn;
import io.ebeaninternal.dbmigration.migration.Column;
/**
@@ -134,10 +135,31 @@ public class DB2Ddl extends PlatformDdl {
return sb.toString();
}
@Override
protected DdlAlterTable alterTable(DdlWrite writer, String tableName) {
return writer.applyAlterTable(tableName, Db2AlterTableWrite::new);
};
@Override
protected void alterColumnType(DdlWrite writer, AlterColumn alter) {
String type = convert(alter.getType());
DB2ColumnOptionsParser parser = new DB2ColumnOptionsParser(type);
alterTable(writer, alter.getTableName()).append(alterColumn, alter.getColumnName())
.append(columnSetType).append(parser.getType());
if (parser.getInlineLength() != null) {
alterTable(writer, alter.getTableName()).append(alterColumn, alter.getColumnName())
.append("set").appendWithSpace(parser.getInlineLength());
}
if (parser.hasExtraOptions()) {
alterTable(writer, alter.getTableName()).raw("-- ignored options for ")
.append(alter.getTableName()).append(".").append(alter.getColumnName())
.append(": compact=").append(String.valueOf(parser.isCompact()))
.append(", logged=").append(String.valueOf(parser.isLogged()));
}
}
@Override
protected DdlAlterTable alterTable(DdlWrite writer, String tableName) {
return writer.applyAlterTable(tableName, Db2AlterTableWrite::new);
};
static class Db2AlterTableWrite extends BaseAlterTableWrite {
public Db2AlterTableWrite(String tableName) {
@@ -0,0 +1,43 @@
package io.ebeaninternal.dbmigration.ddlgeneration.platform;
import org.assertj.core.api.SoftAssertions;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
public class DB2ColumnOptionsParserTest {
private final SoftAssertions softly = new SoftAssertions();
@AfterEach
void assertAll() {
softly.assertAll();
}
@Test
public void testParser() {
DB2ColumnOptionsParser p = new DB2ColumnOptionsParser("blob(64M) inline length 200 logged compact");
softly.assertThat(p.getType()).isEqualTo("blob(64M)");
softly.assertThat(p.getInlineLength()).isEqualTo("inline length 200");
softly.assertThat(p.isLogged()).isTrue();
softly.assertThat(p.isCompact()).isTrue();
p = new DB2ColumnOptionsParser("blob(64M) inline length 200 not logged not compact");
softly.assertThat(p.getType()).isEqualTo("blob(64M)");
softly.assertThat(p.getInlineLength()).isEqualTo("inline length 200");
softly.assertThat(p.isLogged()).isFalse();
softly.assertThat(p.isCompact()).isFalse();
p = new DB2ColumnOptionsParser("blob(64M) inline length 200");
softly.assertThat(p.getType()).isEqualTo("blob(64M)");
softly.assertThat(p.getInlineLength()).isEqualTo("inline length 200");
softly.assertThat(p.isLogged()).isTrue();
softly.assertThat(p.isCompact()).isFalse();
p = new DB2ColumnOptionsParser("blob(64M)");
softly.assertThat(p.getType()).isEqualTo("blob(64M)");
softly.assertThat(p.getInlineLength()).isNull();
softly.assertThat(p.isLogged()).isTrue();
softly.assertThat(p.isCompact()).isFalse();
}
}
@@ -1,6 +1,7 @@
package misc.migration.v1_0;
import io.ebean.annotation.DbDefault;
import io.ebean.annotation.DbJson;
import io.ebean.annotation.EnumValue;
import io.ebean.annotation.Index;
import io.ebean.annotation.NotNull;
@@ -15,6 +16,7 @@ import javax.validation.constraints.Size;
import java.io.File;
import java.sql.Timestamp;
import java.util.List;
@Entity
@Table(name = "migtest_e_basic")
@@ -50,6 +52,15 @@ public class EBasic {
@Column(columnDefinition = "db2;blob(64M);")
File descriptionFile;
@DbJson
@Column(columnDefinition = "db2;clob(16K) inline length 500 compact;")
List<String> jsonList;
@NotNull
@DbDefault("X")
@Column(columnDefinition = "db2;clob(16K) inline length 500 not logged;")
String aLob;
Timestamp someDate;
boolean old_boolean;
@@ -6,6 +6,7 @@ import io.ebean.annotation.*;
import javax.persistence.*;
import javax.validation.constraints.Size;
import java.sql.Timestamp;
import java.util.List;
@Entity
@Table(name = "migtest_e_basic")
@@ -58,6 +59,13 @@ public class EBasic {
@Size(max=127)
String description;
@DbJson
@Column(columnDefinition = "db2;clob(16K) inline length 500 compact;")
List<String> jsonList;
@Column(columnDefinition = "db2;clob(16K) inline length 500 not logged;", nullable = true)
String aLob;
//@NotNull
//@DbDefault("2000-01-01T00:00:00") //- date time literals do not work for each platform yet
//@DbDefault("now") //- now does not work for mariaDb
@@ -1,6 +1,7 @@
package misc.migration.v1_2;
import io.ebean.annotation.DbDefault;
import io.ebean.annotation.DbJson;
import io.ebean.annotation.EnumValue;
import io.ebean.annotation.Index;
import io.ebean.annotation.NotNull;
@@ -15,6 +16,7 @@ import javax.validation.constraints.Size;
import java.io.File;
import java.sql.Timestamp;
import java.util.List;
@Entity
@Table(name = "migtest_e_basic")
@@ -50,6 +52,15 @@ public class EBasic {
@Column(columnDefinition = "db2;blob(64M);")
File descriptionFile;
@DbJson
@Column(columnDefinition = "db2;clob(16K) inline length 500 compact;")
List<String> jsonList;
@NotNull
@DbDefault("X")
@Column(columnDefinition = "db2;clob(16K) inline length 500 compact;")
String aLob;
Timestamp someDate;
boolean old_boolean;
@@ -86,13 +86,16 @@ class TestBasicClobNoVer extends BaseTestCase {
@Test
void largeValueInsert() {
EBasicClobNoVer bean = new EBasicClobNoVer();
bean.setDescription(largeContent());
String s = largeContent();
bean.setDescription(s);
DB.save(bean);
bean = DB.find(EBasicClobNoVer.class, bean.getId());
assertThat(bean.getDescription()).isEqualTo(s);
}
private String largeContent() {
Random random = new Random();
StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder(1048577);
for (int i = 0; i < 1048577; i++) {
sb.append((char) (random.nextInt(26) + 'a'));
}
@@ -1,9 +1,12 @@
package org.tests.model.basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.OneToMany;
import java.util.ArrayList;
import java.util.List;
@@ -19,6 +22,8 @@ public class EBasicClobNoVer {
* Note that lobs default to FetchType.LAZY - see EBasicClobFetchEager.
*/
@Lob
// Required for largeValueInsert-test. DB2 allows by default only 1MB
@Column(columnDefinition = "db2;clob(2M);")
private String description;
@OneToMany
@@ -52,6 +52,8 @@ create table migtest_e_basic (
name String,
description String,
description_file blob,
json_list String,
a_lob String default 'X',
some_date DateTime,
old_boolean UInt8 default 0,
old_boolean2 UInt8,
@@ -46,6 +46,8 @@ alter table migtest_e_basic alter column status set not null;
alter table migtest_e_basic alter column status2 String;
alter table migtest_e_basic alter column status2 drop default;
alter table migtest_e_basic alter column status2 set null;
alter table migtest_e_basic alter column a_lob drop default;
alter table migtest_e_basic alter column a_lob set null;
alter table migtest_e_basic alter column user_id set null;
alter table migtest_e_basic add column new_string_field String default 'foo''bar';
alter table migtest_e_basic add column new_boolean_field UInt8 default 1;
@@ -17,6 +17,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
-- NOTE: table has @History - special migration may be necessary
@@ -27,6 +29,9 @@ alter table migtest_e_basic alter column status set null;
alter table migtest_e_basic alter column status2 String;
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column a_lob String;
alter table migtest_e_basic alter column a_lob set default 'X';
alter table migtest_e_basic alter column a_lob set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob;
@@ -1,6 +1,6 @@
1588846231, 1.0__initial.sql
-1102375855, 1.1.sql
-1091512932, 1.0__initial.sql
308282323, 1.1.sql
1279151426, 1.2__dropsFor_1.1.sql
581928632, 1.3.sql
1630693278, 1.3.sql
80209848, 1.4__dropsFor_1.3.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file bytea,
json_list json,
a_lob varchar(255) default 'X' not null,
some_date timestamptz,
old_boolean boolean default false not null,
old_boolean2 boolean,
@@ -53,6 +53,8 @@ alter table migtest_e_basic alter column status set not null;
alter table migtest_e_basic alter column status2 type varchar(127);
alter table migtest_e_basic alter column status2 drop default;
alter table migtest_e_basic alter column status2 drop not null;
alter table migtest_e_basic alter column a_lob drop default;
alter table migtest_e_basic alter column a_lob drop not null;
alter table migtest_e_basic alter column user_id drop not null;
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add column new_boolean_field boolean default true not null;
@@ -27,6 +27,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
-- NOTE: table has @History - special migration may be necessary
@@ -37,6 +39,9 @@ alter table migtest_e_basic alter column status drop not null;
alter table migtest_e_basic alter column status2 type varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column a_lob type varchar(255);
alter table migtest_e_basic alter column a_lob set default 'X';
alter table migtest_e_basic alter column a_lob set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file bytea;
@@ -1,7 +1,7 @@
246318791, 1.0__initial.sql
1109849447, 1.1.sql
150261101, 1.0__initial.sql
-968104039, 1.1.sql
240919209, 1.2__dropsFor_1.1.sql
612721597, 1.3.sql
-430000356, 1.3.sql
-820814009, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file blob(64M),
json_list clob(16K) inline length 500 compact,
a_lob clob(16K) inline length 500 not logged default 'X' not null,
some_date timestamp,
old_boolean smallint default 0 default false not null,
old_boolean2 smallint default 0,
@@ -127,6 +127,8 @@ alter table migtest_e_basic alter column status set not null;
alter table migtest_e_basic alter column status2 set data type varchar(127);
alter table migtest_e_basic alter column status2 drop default;
alter table migtest_e_basic alter column status2 drop not null;
alter table migtest_e_basic alter column a_lob drop default;
alter table migtest_e_basic alter column a_lob drop not null;
alter table migtest_e_basic alter column user_id drop not null;
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add column new_boolean_field smallint default 0 default true not null;
@@ -157,6 +157,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
alter table migtest_e_history2 drop versioning;
alter table migtest_e_history3 drop versioning;
@@ -171,6 +173,11 @@ alter table migtest_e_basic alter column status drop not null;
alter table migtest_e_basic alter column status2 set data type varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column a_lob set data type clob(16K);
alter table migtest_e_basic alter column a_lob set inline length 500;
-- ignored options for migtest_e_basic.a_lob: compact=true, logged=true;
alter table migtest_e_basic alter column a_lob set default 'X';
alter table migtest_e_basic alter column a_lob set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob(64M);
@@ -1,7 +1,7 @@
-1173442860, 1.0__initial.sql
-504970252, 1.1.sql
841482576, 1.0__initial.sql
2115993112, 1.1.sql
364066694, 1.2__dropsFor_1.1.sql
-2046803765, 1.3.sql
-144532085, 1.3.sql
-1199420632, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file blob(64M),
json_list clob(16K) inline length 500 compact,
a_lob clob(16K) inline length 500 not logged default 'X' not null,
some_date timestamp,
old_boolean boolean default false not null,
old_boolean2 boolean,
@@ -127,6 +127,8 @@ alter table migtest_e_basic alter column status set not null;
alter table migtest_e_basic alter column status2 set data type varchar(127);
alter table migtest_e_basic alter column status2 drop default;
alter table migtest_e_basic alter column status2 drop not null;
alter table migtest_e_basic alter column a_lob drop default;
alter table migtest_e_basic alter column a_lob drop not null;
alter table migtest_e_basic alter column user_id drop not null;
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add column new_boolean_field boolean default true not null;
@@ -157,6 +157,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
alter table migtest_e_history2 drop versioning;
alter table migtest_e_history3 drop versioning;
@@ -171,6 +173,11 @@ alter table migtest_e_basic alter column status drop not null;
alter table migtest_e_basic alter column status2 set data type varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column a_lob set data type clob(16K);
alter table migtest_e_basic alter column a_lob set inline length 500;
-- ignored options for migtest_e_basic.a_lob: compact=true, logged=true;
alter table migtest_e_basic alter column a_lob set default 'X';
alter table migtest_e_basic alter column a_lob set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob(64M);
@@ -1,7 +1,7 @@
1034179507, 1.0__initial.sql
-1206845521, 1.1.sql
-1701286706, 1.0__initial.sql
-1965264933, 1.1.sql
364066694, 1.2__dropsFor_1.1.sql
161683967, 1.3.sql
1221811961, 1.3.sql
-1199420632, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file blob(64M),
json_list clob(16K) inline length 500 compact,
a_lob clob(16K) inline length 500 not logged default 'X' not null,
some_date timestamp,
old_boolean boolean default false not null,
old_boolean2 boolean,
@@ -127,6 +127,8 @@ alter table migtest_e_basic alter column status set not null;
alter table migtest_e_basic alter column status2 set data type varchar(127);
alter table migtest_e_basic alter column status2 drop default;
alter table migtest_e_basic alter column status2 drop not null;
alter table migtest_e_basic alter column a_lob drop default;
alter table migtest_e_basic alter column a_lob drop not null;
alter table migtest_e_basic alter column user_id drop not null;
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add column new_boolean_field boolean default true not null;
@@ -157,6 +157,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
alter table migtest_e_history2 drop versioning;
alter table migtest_e_history3 drop versioning;
@@ -171,6 +173,11 @@ alter table migtest_e_basic alter column status drop not null;
alter table migtest_e_basic alter column status2 set data type varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column a_lob set data type clob(16K);
alter table migtest_e_basic alter column a_lob set inline length 500;
-- ignored options for migtest_e_basic.a_lob: compact=true, logged=true;
alter table migtest_e_basic alter column a_lob set default 'X';
alter table migtest_e_basic alter column a_lob set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob(64M);
@@ -1,7 +1,7 @@
-1345631840, 1.0__initial.sql
2135835079, 1.1.sql
-1211384725, 1.0__initial.sql
-336858597, 1.1.sql
364066694, 1.2__dropsFor_1.1.sql
-1510901098, 1.3.sql
-688071658, 1.3.sql
-1199420632, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file blob(64M),
json_list clob(16K) inline length 500 compact,
a_lob clob(16K) inline length 500 not logged default 'X' not null,
some_date timestamp,
old_boolean boolean default false not null,
old_boolean2 boolean,
@@ -127,6 +127,8 @@ alter table migtest_e_basic alter column status set not null;
alter table migtest_e_basic alter column status2 set data type varchar(127);
alter table migtest_e_basic alter column status2 drop default;
alter table migtest_e_basic alter column status2 drop not null;
alter table migtest_e_basic alter column a_lob drop default;
alter table migtest_e_basic alter column a_lob drop not null;
alter table migtest_e_basic alter column user_id drop not null;
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add column new_boolean_field boolean default true not null;
@@ -157,6 +157,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
alter table migtest_e_history2 drop versioning;
alter table migtest_e_history3 drop versioning;
@@ -171,6 +173,11 @@ alter table migtest_e_basic alter column status drop not null;
alter table migtest_e_basic alter column status2 set data type varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column a_lob set data type clob(16K);
alter table migtest_e_basic alter column a_lob set inline length 500;
-- ignored options for migtest_e_basic.a_lob: compact=true, logged=true;
alter table migtest_e_basic alter column a_lob set default 'X';
alter table migtest_e_basic alter column a_lob set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob(64M);
@@ -1,7 +1,7 @@
-1345631840, 1.0__initial.sql
2135835079, 1.1.sql
-1211384725, 1.0__initial.sql
-336858597, 1.1.sql
364066694, 1.2__dropsFor_1.1.sql
-1510901098, 1.3.sql
-688071658, 1.3.sql
-1199420632, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file blob,
json_list clob,
a_lob varchar(255) default 'X' not null,
some_date timestamp,
old_boolean boolean default false not null,
old_boolean2 boolean,
@@ -53,6 +53,8 @@ alter table migtest_e_basic alter column status set not null;
alter table migtest_e_basic alter column status2 varchar(127);
alter table migtest_e_basic alter column status2 drop default;
alter table migtest_e_basic alter column status2 set null;
alter table migtest_e_basic alter column a_lob drop default;
alter table migtest_e_basic alter column a_lob set null;
alter table migtest_e_basic alter column user_id set null;
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add column new_boolean_field boolean default true not null;
@@ -27,6 +27,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
-- NOTE: table has @History - special migration may be necessary
@@ -37,6 +39,9 @@ alter table migtest_e_basic alter column status set null;
alter table migtest_e_basic alter column status2 varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column a_lob varchar(255);
alter table migtest_e_basic alter column a_lob set default 'X';
alter table migtest_e_basic alter column a_lob set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob;
@@ -1,6 +1,6 @@
-1254950549, 1.0__initial.sql
-905429129, 1.1.sql
2034298647, 1.0__initial.sql
294462857, 1.1.sql
1279151426, 1.2__dropsFor_1.1.sql
110210997, 1.3.sql
465616489, 1.3.sql
80209848, 1.4__dropsFor_1.3.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file blob,
json_list clob,
a_lob varchar(255) default 'X' not null,
some_date timestamp,
old_boolean boolean default false not null,
old_boolean2 boolean,
@@ -63,6 +63,8 @@ alter table migtest_e_basic alter column status set not null;
alter table migtest_e_basic alter column status2 varchar(127);
alter table migtest_e_basic alter column status2 drop default;
alter table migtest_e_basic alter column status2 set null;
alter table migtest_e_basic alter column a_lob drop default;
alter table migtest_e_basic alter column a_lob set null;
alter table migtest_e_basic alter column user_id set null;
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add column new_boolean_field boolean default true not null;
@@ -27,6 +27,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
drop trigger migtest_e_history2_history_upd;
drop view migtest_e_history2_with_history;
@@ -45,6 +47,9 @@ alter table migtest_e_basic alter column status set null;
alter table migtest_e_basic alter column status2 varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column a_lob varchar(255);
alter table migtest_e_basic alter column a_lob set default 'X';
alter table migtest_e_basic alter column a_lob set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob;
@@ -1,7 +1,7 @@
1200492722, 1.0__initial.sql
-475634933, 1.1.sql
2132375128, 1.0__initial.sql
393141788, 1.1.sql
-1366392410, 1.2__dropsFor_1.1.sql
-323346059, 1.3.sql
-1336073109, 1.3.sql
-1382108238, 1.4__dropsFor_1.3.sql
783227075, R__multi_comments.sql
561281075, R__order_views.sql
@@ -61,6 +61,8 @@ create column table migtest_e_basic (
name nvarchar(127),
description nvarchar(127),
description_file blob,
json_list nclob,
a_lob nvarchar(255) default 'X' not null,
some_date timestamp,
old_boolean boolean default false not null,
old_boolean2 boolean,
@@ -97,6 +97,7 @@ alter table migtest_ckey_detail add (one_key integer,
alter table migtest_ckey_parent add (assoc_id integer);
alter table migtest_e_basic alter (status nvarchar(1) default 'A' not null,
status2 nvarchar(127) default null,
a_lob nvarchar(255) default null,
user_id integer);
alter table migtest_e_basic add (new_string_field nvarchar(255) default 'foo''bar' not null,
new_boolean_field boolean default true not null,
@@ -87,6 +87,8 @@ create column table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob 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;
@@ -99,6 +101,7 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
alter table migtest_e_basic alter (status nvarchar(1) default null,
status2 nclob not null);
alter table migtest_e_basic alter (status2 nvarchar(1) default 'N' not null,
a_lob nvarchar(255) default 'X' not null,
user_id integer default 23 not null);
alter table migtest_e_basic add (description_file blob,
old_boolean boolean default false not null,
@@ -1,8 +1,8 @@
-745347271, I__create_procs.sql
881849401, 1.0__initial.sql
-1990555725, 1.1.sql
-1191817607, 1.0__initial.sql
975653326, 1.1.sql
197547825, 1.2__dropsFor_1.1.sql
1338960395, 1.3.sql
-98538062, 1.3.sql
1812245353, 1.4__dropsFor_1.3.sql
1906063401, R__order_views_hana.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file blob,
json_list clob,
a_lob varchar(255) default 'X' not null,
some_date timestamp,
old_boolean boolean default false not null,
old_boolean2 boolean,
@@ -53,6 +53,8 @@ alter table migtest_e_basic alter column status set not null;
alter table migtest_e_basic alter column status2 varchar(127);
alter table migtest_e_basic alter column status2 drop default;
alter table migtest_e_basic alter column status2 set null;
alter table migtest_e_basic alter column a_lob drop default;
alter table migtest_e_basic alter column a_lob set null;
alter table migtest_e_basic alter column user_id set null;
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add column new_boolean_field boolean default true not null;
@@ -27,6 +27,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
-- NOTE: table has @History - special migration may be necessary
@@ -37,6 +39,9 @@ alter table migtest_e_basic alter column status set null;
alter table migtest_e_basic alter column status2 varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column a_lob varchar(255);
alter table migtest_e_basic alter column a_lob set default 'X';
alter table migtest_e_basic alter column a_lob set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob;
@@ -1,7 +1,7 @@
442457363, 1.0__initial.sql
-1664513570, 1.1.sql
614593077, 1.0__initial.sql
-788233032, 1.1.sql
-300925212, 1.2__dropsFor_1.1.sql
-612892741, 1.3.sql
121126259, 1.3.sql
-972999284, 1.4__dropsFor_1.3.sql
861001272, R__order_views_hsqldb.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file longblob,
json_list json,
a_lob varchar(255) default 'X' not null,
some_date datetime(6),
old_boolean tinyint(1) default 0 not null,
old_boolean2 tinyint(1),
@@ -48,6 +48,7 @@ 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 a_lob varchar(255);
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;
@@ -24,6 +24,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
SET @@system_versioning_alter_history = 1;
@@ -32,6 +34,7 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
-- 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 a_lob varchar(255) not null default 'X';
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;
@@ -1,7 +1,7 @@
-636344713, 1.0__initial.sql
-1901679107, 1.1.sql
1992643861, 1.0__initial.sql
-1677772226, 1.1.sql
-828985759, 1.2__dropsFor_1.1.sql
903264949, 1.3.sql
-1470028617, 1.3.sql
-446860935, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file longblob,
json_list json,
a_lob varchar(255) default 'X' not null,
some_date datetime(6),
old_boolean tinyint(1) default 0 not null,
old_boolean2 tinyint(1),
@@ -48,6 +48,7 @@ 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 a_lob varchar(255);
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;
@@ -24,6 +24,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
SET @@system_versioning_alter_history = 1;
@@ -32,6 +34,7 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
-- 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 a_lob varchar(255) not null default 'X';
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;
@@ -1,8 +1,8 @@
1835064798, I__create_procs.sql
-636344713, 1.0__initial.sql
-1901679107, 1.1.sql
1992643861, 1.0__initial.sql
-1677772226, 1.1.sql
2123392915, 1.2__dropsFor_1.1.sql
903264949, 1.3.sql
-1470028617, 1.3.sql
-692020559, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -44,6 +44,8 @@
<column name="name" type="varchar(127)"/>
<column name="description" type="varchar(127)"/>
<column name="description_file" type="db2;blob(64M);blob"/>
<column name="json_list" type="db2;clob(16K) inline length 500 compact;json"/>
<column name="a_lob" type="db2;clob(16K) inline length 500 not logged;varchar" defaultValue="'X'" notnull="true"/>
<column name="some_date" type="timestamp"/>
<column name="old_boolean" type="boolean" defaultValue="false" notnull="true"/>
<column name="old_boolean2" type="boolean"/>
@@ -24,6 +24,7 @@
<ddl>-- rename all collisions</ddl>
</before>
</alterColumn>
<alterColumn columnName="a_lob" tableName="migtest_e_basic" currentType="db2;clob(16K) inline length 500 not logged;varchar" defaultValue="DROP DEFAULT" notnull="false" currentNotnull="true"/>
<alterColumn columnName="user_id" tableName="migtest_e_basic" currentType="integer" notnull="false" currentNotnull="true" references="migtest_e_user.id" foreignKeyName="fk_migtest_e_basic_user_id" foreignKeyIndex="ix_migtest_e_basic_user_id">
<before>
<ddl>insert into migtest_e_user (id) select distinct user_id from migtest_e_basic</ddl>
@@ -9,6 +9,7 @@
<alterColumn columnName="status" tableName="migtest_e_basic" currentType="varchar(1)" defaultValue="DROP DEFAULT" notnull="false" currentNotnull="true" checkConstraint="check ( status in ('N','A','I'))" checkConstraintName="ck_migtest_e_basic_status"/>
<alterColumn columnName="status2" tableName="migtest_e_basic" type="varchar(1)" currentType="varchar(127)" defaultValue="'N'" notnull="true" currentNotnull="false" checkConstraint="check ( status2 in ('N','A','I'))" checkConstraintName="ck_migtest_e_basic_status2"/>
<alterColumn columnName="description" tableName="migtest_e_basic" dropUnique="uq_migtest_e_basic_description"/>
<alterColumn columnName="a_lob" tableName="migtest_e_basic" type="db2;clob(16K) inline length 500 compact;varchar" currentType="db2;clob(16K) inline length 500 not logged;varchar" defaultValue="'X'" notnull="true" currentNotnull="false"/>
<alterColumn columnName="user_id" tableName="migtest_e_basic" currentType="integer" defaultValue="23" notnull="true" currentNotnull="false" dropForeignKey="fk_migtest_e_basic_user_id" dropForeignKeyIndex="ix_migtest_e_basic_user_id"/>
<addColumn tableName="migtest_e_basic">
<column name="description_file" type="db2;blob(64M);blob"/>
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file longblob,
json_list json,
a_lob varchar(255) default 'X' not null,
some_date datetime(6),
old_boolean tinyint(1) default 0 not null,
old_boolean2 tinyint(1),
@@ -62,6 +62,7 @@ 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 a_lob varchar(255);
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;
@@ -24,6 +24,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
drop trigger migtest_e_history2_history_upd;
drop trigger migtest_e_history2_history_del;
@@ -43,6 +45,7 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
-- 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 a_lob varchar(255) not null default 'X';
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;
@@ -1,8 +1,8 @@
1835064798, I__create_procs.sql
-1623464972, 1.0__initial.sql
-882132850, 1.1.sql
1531575623, 1.0__initial.sql
418413355, 1.1.sql
-1332434945, 1.2__dropsFor_1.1.sql
-1085730419, 1.3.sql
-105506677, 1.3.sql
379252952, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file longblob,
json_list json,
a_lob varchar(255) default 'X' not null,
some_date datetime,
old_boolean tinyint(1) default 0 not null,
old_boolean2 tinyint(1),
@@ -62,6 +62,7 @@ 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 a_lob varchar(255);
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;
@@ -24,6 +24,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
drop trigger migtest_e_history2_history_upd;
drop trigger migtest_e_history2_history_del;
@@ -43,6 +45,7 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
-- 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 a_lob varchar(255) not null default 'X';
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;
@@ -1,8 +1,8 @@
1835064798, I__create_procs.sql
529930619, 1.0__initial.sql
-882132850, 1.1.sql
1425786329, 1.0__initial.sql
418413355, 1.1.sql
-1332434945, 1.2__dropsFor_1.1.sql
-1085730419, 1.3.sql
-105506677, 1.3.sql
379252952, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file blob,
json_list clob,
a_lob varchar(255) default 'X' not null,
some_date timestamp,
old_boolean boolean default false not null,
old_boolean2 boolean,
@@ -68,6 +68,8 @@ alter table migtest_e_basic alter column status set not null;
alter table migtest_e_basic alter column status2 varchar(127);
alter table migtest_e_basic alter column status2 drop default;
alter table migtest_e_basic alter column status2 set null;
alter table migtest_e_basic alter column a_lob drop default;
alter table migtest_e_basic alter column a_lob set null;
alter table migtest_e_basic alter column user_id set null;
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add column new_boolean_field boolean default true not null;
@@ -27,6 +27,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
drop trigger migtest_e_history2_history_upd;
drop trigger migtest_e_history2_history_del;
@@ -49,6 +51,9 @@ alter table migtest_e_basic alter column status set null;
alter table migtest_e_basic alter column status2 varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column a_lob varchar(255);
alter table migtest_e_basic alter column a_lob set default 'X';
alter table migtest_e_basic alter column a_lob set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob;
@@ -1,7 +1,7 @@
1041350610, 1.0__initial.sql
-1144238347, 1.1.sql
1842042513, 1.0__initial.sql
-1628340454, 1.1.sql
-424253630, 1.2__dropsFor_1.1.sql
-270701977, 1.3.sql
-1988156517, 1.3.sql
-1189704269, 1.4__dropsFor_1.3.sql
561281075, R__order_views.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar2(127),
description varchar2(127),
description_file blob,
json_list clob,
a_lob varchar2(255) default 'X' not null,
some_date timestamp,
old_boolean number(1) default 0 not null,
old_boolean2 number(1),
@@ -98,6 +98,8 @@ alter table migtest_e_basic modify status not null;
alter table migtest_e_basic modify status2 varchar2(127);
alter table migtest_e_basic modify status2 default null;
alter table migtest_e_basic modify status2 null;
alter table migtest_e_basic modify a_lob default null;
alter table migtest_e_basic modify a_lob null;
alter table migtest_e_basic modify user_id null;
alter table migtest_e_basic add new_string_field varchar2(255) default 'foo''bar' not null;
alter table migtest_e_basic add new_boolean_field number(1) default 1 not null;
@@ -99,6 +99,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
-- NOTE: table has @History - special migration may be necessary
@@ -109,6 +111,9 @@ alter table migtest_e_basic modify status null;
alter table migtest_e_basic modify status2 varchar2(1);
alter table migtest_e_basic modify status2 default 'N';
alter table migtest_e_basic modify status2 not null;
alter table migtest_e_basic modify a_lob varchar2(255);
alter table migtest_e_basic modify a_lob default 'X';
alter table migtest_e_basic modify a_lob not null;
alter table migtest_e_basic modify user_id default 23;
alter table migtest_e_basic modify user_id not null;
alter table migtest_e_basic add description_file blob;
@@ -1,7 +1,7 @@
-554067191, 1.0__initial.sql
187324506, 1.1.sql
2058445079, 1.0__initial.sql
-406177058, 1.1.sql
-582436324, 1.2__dropsFor_1.1.sql
-283226837, 1.3.sql
245787021, 1.3.sql
663051206, 1.4__dropsFor_1.3.sql
1357801733, R__oracle_only_views.sql
561281075, R__order_views.sql
@@ -69,6 +69,8 @@ create table migtest_e_basic (
name varchar2(127),
description varchar2(127),
description_file blob,
json_list clob,
a_lob varchar2(255) default 'X' not null,
some_date timestamp,
old_boolean number(1) default 0 not null,
old_boolean2 number(1),
@@ -99,6 +99,8 @@ alter table migtest_e_basic modify status not null;
alter table migtest_e_basic modify status2 varchar2(127);
alter table migtest_e_basic modify status2 default null;
alter table migtest_e_basic modify status2 null;
alter table migtest_e_basic modify a_lob default null;
alter table migtest_e_basic modify a_lob null;
alter table migtest_e_basic modify user_id null;
alter table migtest_e_basic add new_string_field varchar2(255) default 'foo''bar' not null;
alter table migtest_e_basic add new_boolean_field number(1) default 1 not null;
@@ -100,6 +100,8 @@ create sequence migtest_e_ref_seq;
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
-- NOTE: table has @History - special migration may be necessary
@@ -110,6 +112,9 @@ alter table migtest_e_basic modify status null;
alter table migtest_e_basic modify status2 varchar2(1);
alter table migtest_e_basic modify status2 default 'N';
alter table migtest_e_basic modify status2 not null;
alter table migtest_e_basic modify a_lob varchar2(255);
alter table migtest_e_basic modify a_lob default 'X';
alter table migtest_e_basic modify a_lob not null;
alter table migtest_e_basic modify user_id default 23;
alter table migtest_e_basic modify user_id not null;
alter table migtest_e_basic add description_file blob;
@@ -1,7 +1,7 @@
-712978357, 1.0__initial.sql
-1852784090, 1.1.sql
-1132728964, 1.0__initial.sql
1635736608, 1.1.sql
-582436324, 1.2__dropsFor_1.1.sql
-734374474, 1.3.sql
2103586605, 1.3.sql
663051206, 1.4__dropsFor_1.3.sql
1357801733, R__oracle_only_views.sql
561281075, R__order_views.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file bytea,
json_list json,
a_lob varchar(255) default 'X' not null,
some_date timestamptz,
old_boolean boolean default false not null,
old_boolean2 boolean,
@@ -78,6 +78,8 @@ alter table migtest_e_basic alter column status set not null;
alter table migtest_e_basic alter column status2 type varchar(127) using status2::varchar(127);
alter table migtest_e_basic alter column status2 drop default;
alter table migtest_e_basic alter column status2 drop not null;
alter table migtest_e_basic alter column a_lob drop default;
alter table migtest_e_basic alter column a_lob drop not null;
alter table migtest_e_basic alter column user_id drop not null;
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add column new_boolean_field boolean default true not null;
@@ -27,6 +27,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
drop trigger if exists migtest_e_history2_history_upd on migtest_e_history2 cascade;
drop function if exists migtest_e_history2_history_version();
@@ -53,6 +55,9 @@ alter table migtest_e_basic alter column status drop not null;
alter table migtest_e_basic alter column status2 type varchar(1) using status2::varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column a_lob type varchar(255) using a_lob::varchar(255);
alter table migtest_e_basic alter column a_lob set default 'X';
alter table migtest_e_basic alter column a_lob set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file bytea;
@@ -1,7 +1,7 @@
-125847545, 1.0__initial.sql
-962575173, 1.1.sql
-1277453273, 1.0__initial.sql
-2141665406, 1.1.sql
-1098989118, 1.2__dropsFor_1.1.sql
808262548, 1.3.sql
199465792, 1.3.sql
1729345905, 1.4__dropsFor_1.3.sql
783227075, R__multi_comments.sql
561281075, R__order_views.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file bytea,
json_list json,
a_lob varchar(255) default 'X' not null,
some_date timestamptz,
old_boolean boolean default false not null,
old_boolean2 boolean,
@@ -78,6 +78,8 @@ alter table migtest_e_basic alter column status set not null;
alter table migtest_e_basic alter column status2 type varchar(127) using status2::varchar(127);
alter table migtest_e_basic alter column status2 drop default;
alter table migtest_e_basic alter column status2 drop not null;
alter table migtest_e_basic alter column a_lob drop default;
alter table migtest_e_basic alter column a_lob drop not null;
alter table migtest_e_basic alter column user_id drop not null;
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add column new_boolean_field boolean default true not null;
@@ -27,6 +27,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
drop trigger if exists migtest_e_history2_history_upd on migtest_e_history2 cascade;
drop function if exists migtest_e_history2_history_version();
@@ -53,6 +55,9 @@ alter table migtest_e_basic alter column status drop not null;
alter table migtest_e_basic alter column status2 type varchar(1) using status2::varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column a_lob type varchar(255) using a_lob::varchar(255);
alter table migtest_e_basic alter column a_lob set default 'X';
alter table migtest_e_basic alter column a_lob set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file bytea;
@@ -1,7 +1,7 @@
-1050466540, 1.0__initial.sql
-976679466, 1.1.sql
1678831678, 1.0__initial.sql
-1261465039, 1.1.sql
-1098989118, 1.2__dropsFor_1.1.sql
303027582, 1.3.sql
39355920, 1.3.sql
1729345905, 1.4__dropsFor_1.3.sql
783227075, R__multi_comments.sql
561281075, R__order_views.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file binary(4500),
json_list long varchar,
a_lob varchar(255) default 'X' not null,
some_date timestamp,
old_boolean bit default false not null,
old_boolean2 bit,
@@ -53,6 +53,8 @@ alter table migtest_e_basic alter column status set not null;
alter table migtest_e_basic alter column status2 varchar(127);
alter table migtest_e_basic alter column status2 drop default;
alter table migtest_e_basic alter column status2 set null;
alter table migtest_e_basic alter column a_lob drop default;
alter table migtest_e_basic alter column a_lob set null;
alter table migtest_e_basic alter column user_id set null;
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add column new_boolean_field bit default true not null;
@@ -27,6 +27,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
-- NOTE: table has @History - special migration may be necessary
@@ -37,6 +39,9 @@ alter table migtest_e_basic alter column status set null;
alter table migtest_e_basic alter column status2 varchar(1);
alter table migtest_e_basic alter column status2 set default 'N';
alter table migtest_e_basic alter column status2 set not null;
alter table migtest_e_basic alter column a_lob varchar(255);
alter table migtest_e_basic alter column a_lob set default 'X';
alter table migtest_e_basic alter column a_lob set not null;
alter table migtest_e_basic alter column user_id set default 23;
alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file binary(4500);
@@ -1,6 +1,6 @@
-2005091128, 1.0__initial.sql
887406340, 1.1.sql
874272908, 1.0__initial.sql
1253219479, 1.1.sql
1279151426, 1.2__dropsFor_1.1.sql
-671185644, 1.3.sql
-894462776, 1.3.sql
80209848, 1.4__dropsFor_1.3.sql
@@ -63,6 +63,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file blob,
json_list clob,
a_lob varchar(255) default 'X' not null,
some_date timestamp,
old_boolean int default 0 not null,
old_boolean2 int,
@@ -58,6 +58,8 @@ alter table migtest_ckey_parent add column assoc_id integer;
-- not supported: alter table migtest_e_basic alter column status2 varchar(127);
-- not supported: alter table migtest_e_basic alter column status2 drop default;
-- not supported: alter table migtest_e_basic alter column status2 set null;
-- not supported: alter table migtest_e_basic alter column a_lob drop default;
-- not supported: alter table migtest_e_basic alter column a_lob set null;
-- not supported: alter table migtest_e_basic alter column user_id set null;
alter table migtest_e_basic add column new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add column new_boolean_field int default 1 not null;
@@ -70,7 +72,6 @@ alter table migtest_e_basic add column new_integer integer default 42 not null;
alter table migtest_e_history2 add column test_string2 varchar(255);
alter table migtest_e_history2 add column test_string3 varchar(255) default 'unknown' not null;
alter table migtest_e_history2 add column new_column varchar(20);
-- not supported: alter table migtest_e_history4 alter column test_number integer;
alter table migtest_e_history5 add column test_boolean int default 0 not null;
-- not supported: alter table migtest_e_history6 alter column test_number1 set default 42;
-- not supported: alter table migtest_e_history6 alter column test_number1 set not null;
@@ -27,6 +27,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
-- NOTE: table has @History - special migration may be necessary
@@ -37,6 +39,9 @@ update migtest_e_history6 set test_number2 = 7 where test_number2 is null;
-- not supported: alter table migtest_e_basic alter column status2 varchar(1);
-- not supported: alter table migtest_e_basic alter column status2 set default 'N';
-- not supported: alter table migtest_e_basic alter column status2 set not null;
-- not supported: alter table migtest_e_basic alter column a_lob varchar(255);
-- not supported: alter table migtest_e_basic alter column a_lob set default 'X';
-- not supported: alter table migtest_e_basic alter column a_lob set not null;
-- not supported: alter table migtest_e_basic alter column user_id set default 23;
-- not supported: alter table migtest_e_basic alter column user_id set not null;
alter table migtest_e_basic add column description_file blob;
@@ -47,7 +52,6 @@ alter table migtest_e_basic add column eref_id integer;
-- not supported: alter table migtest_e_history2 alter column test_string set null;
alter table migtest_e_history2 add column obsolete_string1 varchar(255);
alter table migtest_e_history2 add column obsolete_string2 varchar(255);
-- not supported: alter table migtest_e_history4 alter column test_number integer;
-- not supported: alter table migtest_e_history6 alter column test_number1 drop default;
-- not supported: alter table migtest_e_history6 alter column test_number1 set null;
-- not supported: alter table migtest_e_history6 alter column test_number2 set default 7;
@@ -1,7 +1,7 @@
-990693989, 1.0__initial.sql
-71853945, 1.1.sql
-280067147, 1.0__initial.sql
1471316137, 1.1.sql
1279151426, 1.2__dropsFor_1.1.sql
1929931571, 1.3.sql
18475685, 1.3.sql
80209848, 1.4__dropsFor_1.3.sql
2034589659, R__order_views_sqlite.sql
@@ -61,6 +61,8 @@ create table migtest_e_basic (
name varchar(127),
description varchar(127),
description_file image,
json_list text,
a_lob varchar(255) default 'X' not null,
some_date datetime2,
old_boolean bit default 0 not null,
old_boolean2 bit,
@@ -70,6 +70,8 @@ alter table migtest_e_basic alter column status varchar(1) not null;
alter table migtest_e_basic add default 'A' for status;
EXEC usp_ebean_drop_default_constraint migtest_e_basic, status2;
alter table migtest_e_basic alter column status2 varchar(127);
EXEC usp_ebean_drop_default_constraint migtest_e_basic, a_lob;
alter table migtest_e_basic alter column a_lob varchar(255);
alter table migtest_e_basic alter column user_id integer;
alter table migtest_e_basic add new_string_field varchar(255) default 'foo''bar' not null;
alter table migtest_e_basic add new_boolean_field bit default 1 not null;
@@ -31,6 +31,8 @@ create table migtest_e_ref (
update migtest_e_basic set status2 = 'N' where status2 is null;
update migtest_e_basic set a_lob = 'X' where a_lob is null;
update migtest_e_basic set user_id = 23 where user_id is null;
-- alter table migtest_e_history2 set (system_versioning = off (history_table=dbo.migtest_e_history2_history));
-- history migration goes here
@@ -53,6 +55,9 @@ alter table migtest_e_basic alter column status varchar(1);
EXEC usp_ebean_drop_default_constraint migtest_e_basic, status2;
alter table migtest_e_basic alter column status2 varchar(1) not null;
alter table migtest_e_basic add default 'N' for status2;
EXEC usp_ebean_drop_default_constraint migtest_e_basic, a_lob;
alter table migtest_e_basic alter column a_lob varchar(255) not null;
alter table migtest_e_basic add default 'X' for a_lob;
EXEC usp_ebean_drop_default_constraint migtest_e_basic, user_id;
alter table migtest_e_basic alter column user_id integer not null;
alter table migtest_e_basic add default 23 for user_id;

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