diff --git a/ebean-ddl-generator/src/test/resources/dbinit/db2/1.4.sql b/ebean-ddl-generator/src/test/resources/dbinit/db2/1.4.sql new file mode 100644 index 000000000..15787ccb5 --- /dev/null +++ b/ebean-ddl-generator/src/test/resources/dbinit/db2/1.4.sql @@ -0,0 +1,174 @@ +-- Migrationscripts for ebean unittest +-- apply changes +create table migtest_ckey_assoc ( + id integer generated by default as identity not null, + assoc_one varchar(255), + constraint pk_migtest_ckey_assoc primary key (id) +); + +create table migtest_ckey_detail ( + id integer generated by default as identity not null, + something varchar(255), + constraint pk_migtest_ckey_detail primary key (id) +); + +create table migtest_ckey_parent ( + one_key integer not null, + two_key varchar(127) not null, + name varchar(255), + version integer not null, + constraint pk_migtest_ckey_parent primary key (one_key,two_key) +); + +create table migtest_fk_cascade ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_cascade primary key (id) +); + +create table migtest_fk_cascade_one ( + id bigint generated by default as identity not null, + constraint pk_migtest_fk_cascade_one primary key (id) +); + +create table migtest_fk_none ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_none primary key (id) +); + +create table migtest_fk_none_via_join ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_none_via_join primary key (id) +); + +create table migtest_fk_one ( + id bigint generated by default as identity not null, + constraint pk_migtest_fk_one primary key (id) +); + +create table migtest_fk_set_null ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_set_null primary key (id) +); + +create table migtest_e_basic ( + id integer generated by default as identity not null, + status varchar(1), + status2 varchar(1) default 'N' not null, + name varchar(127), + description varchar(127), + some_date timestamp, + old_boolean boolean default false not null, + old_boolean2 boolean, + eref_id integer, + indextest1 varchar(127), + indextest2 varchar(127), + indextest3 varchar(127), + indextest4 varchar(127), + indextest5 varchar(127), + indextest6 varchar(127), + user_id integer default 23 not null, + constraint ck_mgtst__bsc_stts check ( status in ('N','A','I')), + constraint ck_mgtst__b_z543fg check ( status2 in ('N','A','I')), + constraint pk_migtest_e_basic primary key (id) +); +-- NOT SUPPORTED alter table migtest_e_basic add constraint uq_mgtst__b_4aybzy unique (indextest2); +-- NOT SUPPORTED alter table migtest_e_basic add constraint uq_mgtst__b_4ayc02 unique (indextest6); + +create table migtest_e_enum ( + id integer generated by default as identity not null, + test_status varchar(1), + constraint ck_mgtst__n_773sok check ( test_status in ('N','A','I')), + constraint pk_migtest_e_enum primary key (id) +); + +create table migtest_e_history ( + id integer generated by default as identity not null, + test_string bigint, + constraint pk_migtest_e_history primary key (id) +); + +create table migtest_e_history2 ( + id integer generated by default as identity not null, + test_string varchar(255), + obsolete_string1 varchar(255), + obsolete_string2 varchar(255), + constraint pk_migtest_e_history2 primary key (id) +); + +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) +); + +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) +); + +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) +); + +create table migtest_e_history6 ( + id integer generated by default as identity not null, + test_number1 integer, + test_number2 integer default 7 not null, + constraint pk_migtest_e_history6 primary key (id) +); + +create table migtest_e_ref ( + id integer generated by default as identity not null, + name varchar(127) not null, + constraint pk_migtest_e_ref primary key (id) +); +alter table migtest_e_ref add constraint uq_mgtst__rf_nm unique (name); + +create table migtest_e_softdelete ( + id integer generated by default as identity not null, + test_string varchar(255), + constraint pk_migtest_e_softdelete primary key (id) +); + +create table migtest_mtm_c ( + id integer generated by default as identity not null, + name varchar(255), + constraint pk_migtest_mtm_c primary key (id) +); + +create table migtest_mtm_m ( + id bigint generated by default as identity not null, + name varchar(255), + constraint pk_migtest_mtm_m primary key (id) +); + +create table migtest_oto_child ( + id integer generated by default as identity not null, + name varchar(255), + constraint pk_migtest_oto_child primary key (id) +); + +create table migtest_oto_master ( + id bigint generated by default as identity not null, + name varchar(255), + constraint pk_migtest_oto_master primary key (id) +); + +create index ix_mgtst__b_eu8csq on migtest_e_basic (indextest1); +create index ix_mgtst__b_eu8csu on migtest_e_basic (indextest5); +create index ix_mgtst_fk_mok1xj on migtest_fk_cascade (one_id); +alter table migtest_fk_cascade add constraint fk_mgtst_fk_65kf6l foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade; + +create index ix_mgtst_fk_c4p3mv on migtest_fk_set_null (one_id); +alter table migtest_fk_set_null add constraint fk_mgtst_fk_wicx8x foreign key (one_id) references migtest_fk_one (id) on delete set null; + +create index ix_mgtst__bsc_rf_d on migtest_e_basic (eref_id); +alter table migtest_e_basic add constraint fk_mgtst__bsc_rf_d foreign key (eref_id) references migtest_e_ref (id) on delete restrict; + diff --git a/ebean-ddl-generator/src/test/resources/dbinit/h2/1.4.sql b/ebean-ddl-generator/src/test/resources/dbinit/h2/1.4.sql new file mode 100644 index 000000000..ea6345742 --- /dev/null +++ b/ebean-ddl-generator/src/test/resources/dbinit/h2/1.4.sql @@ -0,0 +1,232 @@ +-- Migrationscripts for ebean unittest +-- apply changes +create table migtest_ckey_assoc ( + id integer generated by default as identity not null, + assoc_one varchar(255), + constraint pk_migtest_ckey_assoc primary key (id) +); + +create table migtest_ckey_detail ( + id integer generated by default as identity not null, + something varchar(255), + constraint pk_migtest_ckey_detail primary key (id) +); + +create table migtest_ckey_parent ( + one_key integer not null, + two_key varchar(127) not null, + name varchar(255), + version integer not null, + constraint pk_migtest_ckey_parent primary key (one_key,two_key) +); + +create table migtest_fk_cascade ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_cascade primary key (id) +); + +create table migtest_fk_cascade_one ( + id bigint generated by default as identity not null, + constraint pk_migtest_fk_cascade_one primary key (id) +); + +create table migtest_fk_none ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_none primary key (id) +); + +create table migtest_fk_none_via_join ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_none_via_join primary key (id) +); + +create table migtest_fk_one ( + id bigint generated by default as identity not null, + constraint pk_migtest_fk_one primary key (id) +); + +create table migtest_fk_set_null ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_set_null primary key (id) +); + +create table migtest_e_basic ( + id integer generated by default as identity not null, + status varchar(1), + status2 varchar(1) default 'N' not null, + name varchar(127), + description varchar(127), + some_date timestamp, + old_boolean boolean default false not null, + old_boolean2 boolean, + eref_id integer, + indextest1 varchar(127), + indextest2 varchar(127), + indextest3 varchar(127), + indextest4 varchar(127), + indextest5 varchar(127), + indextest6 varchar(127), + user_id integer default 23 not null, + constraint ck_migtest_e_basic_status check ( status in ('N','A','I')), + constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I')), + constraint uq_migtest_e_basic_indextest2 unique (indextest2), + constraint uq_migtest_e_basic_indextest6 unique (indextest6), + constraint pk_migtest_e_basic primary key (id) +); + +create table migtest_e_enum ( + id integer generated by default as identity not null, + test_status varchar(1), + constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I')), + constraint pk_migtest_e_enum primary key (id) +); + +create table migtest_e_history ( + id integer generated by default as identity not null, + test_string bigint, + constraint pk_migtest_e_history primary key (id) +); + +create table migtest_e_history2 ( + id integer generated by default as identity not null, + test_string varchar(255), + obsolete_string1 varchar(255), + obsolete_string2 varchar(255), + constraint pk_migtest_e_history2 primary key (id) +); + +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) +); + +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) +); + +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) +); + +create table migtest_e_history6 ( + id integer generated by default as identity not null, + test_number1 integer, + test_number2 integer default 7 not null, + constraint pk_migtest_e_history6 primary key (id) +); + +create table migtest_e_ref ( + id integer generated by default as identity not null, + name varchar(127) not null, + constraint uq_migtest_e_ref_name unique (name), + constraint pk_migtest_e_ref primary key (id) +); + +create table migtest_e_softdelete ( + id integer generated by default as identity not null, + test_string varchar(255), + constraint pk_migtest_e_softdelete primary key (id) +); + +create table migtest_mtm_c ( + id integer generated by default as identity not null, + name varchar(255), + constraint pk_migtest_mtm_c primary key (id) +); + +create table migtest_mtm_m ( + id bigint generated by default as identity not null, + name varchar(255), + constraint pk_migtest_mtm_m primary key (id) +); + +create table migtest_oto_child ( + id integer generated by default as identity not null, + name varchar(255), + constraint pk_migtest_oto_child primary key (id) +); + +create table migtest_oto_master ( + id bigint generated by default as identity not null, + name varchar(255), + constraint pk_migtest_oto_master primary key (id) +); + +create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1); +create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5); +create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id); +alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict; + +create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id); +alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict; + +create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id); +alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict; + +alter table migtest_e_history2 add column sys_period_start timestamp default now(); +alter table migtest_e_history2 add column sys_period_end timestamp; +create table migtest_e_history2_history( + id integer, + test_string varchar(255), + obsolete_string1 varchar(255), + obsolete_string2 varchar(255), + sys_period_start timestamp, + sys_period_end timestamp +); +create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history; + +alter table migtest_e_history3 add column sys_period_start timestamp default now(); +alter table migtest_e_history3 add column sys_period_end timestamp; +create table migtest_e_history3_history( + id integer, + test_string varchar(255), + sys_period_start timestamp, + sys_period_end timestamp +); +create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history; + +alter table migtest_e_history4 add column sys_period_start timestamp default now(); +alter table migtest_e_history4 add column sys_period_end timestamp; +create table migtest_e_history4_history( + id integer, + test_number integer, + sys_period_start timestamp, + sys_period_end timestamp +); +create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history; + +alter table migtest_e_history5 add column sys_period_start timestamp default now(); +alter table migtest_e_history5 add column sys_period_end timestamp; +create table migtest_e_history5_history( + id integer, + test_number integer, + sys_period_start timestamp, + sys_period_end timestamp +); +create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history; + +alter table migtest_e_history6 add column sys_period_start timestamp default now(); +alter table migtest_e_history6 add column sys_period_end timestamp; +create table migtest_e_history6_history( + id integer, + test_number1 integer, + test_number2 integer, + sys_period_start timestamp, + sys_period_end timestamp +); +create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history; + +create trigger migtest_e_history2_history_upd before update,delete on migtest_e_history2 for each row call "io.ebean.config.dbplatform.h2.H2HistoryTrigger"; +create trigger migtest_e_history3_history_upd before update,delete on migtest_e_history3 for each row call "io.ebean.config.dbplatform.h2.H2HistoryTrigger"; +create trigger migtest_e_history4_history_upd before update,delete on migtest_e_history4 for each row call "io.ebean.config.dbplatform.h2.H2HistoryTrigger"; +create trigger migtest_e_history5_history_upd before update,delete on migtest_e_history5 for each row call "io.ebean.config.dbplatform.h2.H2HistoryTrigger"; +create trigger migtest_e_history6_history_upd before update,delete on migtest_e_history6 for each row call "io.ebean.config.dbplatform.h2.H2HistoryTrigger"; diff --git a/ebean-ddl-generator/src/test/resources/dbinit/hana/1.4.sql b/ebean-ddl-generator/src/test/resources/dbinit/hana/1.4.sql new file mode 100644 index 000000000..c4c4483c9 --- /dev/null +++ b/ebean-ddl-generator/src/test/resources/dbinit/hana/1.4.sql @@ -0,0 +1,237 @@ +-- Migrationscripts for ebean unittest +-- apply changes +create column table migtest_ckey_assoc ( + id integer generated by default as identity not null, + assoc_one nvarchar(255), + constraint pk_migtest_ckey_assoc primary key (id) +); + +create column table migtest_ckey_detail ( + id integer generated by default as identity not null, + something nvarchar(255), + constraint pk_migtest_ckey_detail primary key (id) +); + +create column table migtest_ckey_parent ( + one_key integer not null, + two_key nvarchar(127) not null, + name nvarchar(255), + version integer not null, + constraint pk_migtest_ckey_parent primary key (one_key,two_key) +); + +create column table migtest_fk_cascade ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_cascade primary key (id) +); + +create column table migtest_fk_cascade_one ( + id bigint generated by default as identity not null, + constraint pk_migtest_fk_cascade_one primary key (id) +); + +create column table migtest_fk_none ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_none primary key (id) +); + +create column table migtest_fk_none_via_join ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_none_via_join primary key (id) +); + +create column table migtest_fk_one ( + id bigint generated by default as identity not null, + constraint pk_migtest_fk_one primary key (id) +); + +create column table migtest_fk_set_null ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_set_null primary key (id) +); + +create column table migtest_e_basic ( + id integer generated by default as identity not null, + status nvarchar(1), + status2 nvarchar(1) default 'N' not null, + name nvarchar(127), + description nvarchar(127), + some_date timestamp, + old_boolean boolean default false not null, + old_boolean2 boolean, + eref_id integer, + indextest1 nvarchar(127), + indextest2 nvarchar(127), + indextest3 nvarchar(127), + indextest4 nvarchar(127), + indextest5 nvarchar(127), + indextest6 nvarchar(127), + user_id integer default 23 not null, + constraint ck_migtest_e_basic_status check ( status in ('N','A','I')), + constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I')), + constraint uq_migtest_e_basic_indextest2 unique (indextest2), + constraint uq_migtest_e_basic_indextest6 unique (indextest6), + constraint pk_migtest_e_basic primary key (id) +); + +create column table migtest_e_enum ( + id integer generated by default as identity not null, + test_status nvarchar(1), + constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I')), + constraint pk_migtest_e_enum primary key (id) +); + +create column table migtest_e_history ( + id integer generated by default as identity not null, + test_string bigint, + constraint pk_migtest_e_history primary key (id) +); + +create column table migtest_e_history2 ( + id integer generated by default as identity not null, + test_string nvarchar(255), + obsolete_string1 nvarchar(255), + obsolete_string2 nvarchar(255), + constraint pk_migtest_e_history2 primary key (id) +); + +create column table migtest_e_history3 ( + id integer generated by default as identity not null, + test_string nvarchar(255), + constraint pk_migtest_e_history3 primary key (id) +); + +create column table migtest_e_history4 ( + id integer generated by default as identity not null, + test_number integer, + constraint pk_migtest_e_history4 primary key (id) +); + +create column table migtest_e_history5 ( + id integer generated by default as identity not null, + test_number integer, + constraint pk_migtest_e_history5 primary key (id) +); + +create column table migtest_e_history6 ( + id integer generated by default as identity not null, + test_number1 integer, + test_number2 integer default 7 not null, + constraint pk_migtest_e_history6 primary key (id) +); + +create column table migtest_e_ref ( + id integer generated by default as identity not null, + name nvarchar(127) not null, + constraint uq_migtest_e_ref_name unique (name), + constraint pk_migtest_e_ref primary key (id) +); + +create column table migtest_e_softdelete ( + id integer generated by default as identity not null, + test_string nvarchar(255), + constraint pk_migtest_e_softdelete primary key (id) +); + +create column table migtest_mtm_c ( + id integer generated by default as identity not null, + name nvarchar(255), + constraint pk_migtest_mtm_c primary key (id) +); + +create column table migtest_mtm_m ( + id bigint generated by default as identity not null, + name nvarchar(255), + constraint pk_migtest_mtm_m primary key (id) +); + +create column table migtest_oto_child ( + id integer generated by default as identity not null, + name nvarchar(255), + constraint pk_migtest_oto_child primary key (id) +); + +create column table migtest_oto_master ( + id bigint generated by default as identity not null, + name nvarchar(255), + 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; +-- 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; + +-- explicit index "ix_migtest_fk_set_null_one_id" for single column "one_id" of table "migtest_fk_set_null" is not necessary; +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; + +create column table migtest_e_history2_history ( + id integer, + test_string nvarchar(255), + obsolete_string1 nvarchar(255), + obsolete_string2 nvarchar(255), + sys_period_start timestamp, + sys_period_end timestamp +); +alter table migtest_e_history2 add ( + sys_period_start TIMESTAMP NOT NULL GENERATED ALWAYS AS ROW START, + sys_period_end TIMESTAMP NOT NULL GENERATED ALWAYS AS ROW END +); +alter table migtest_e_history2 add period for system_time(sys_period_start,sys_period_end); +alter table migtest_e_history2 add system versioning history table migtest_e_history2_history; +create column table migtest_e_history3_history ( + id integer, + test_string nvarchar(255), + sys_period_start timestamp, + sys_period_end timestamp +); +alter table migtest_e_history3 add ( + sys_period_start TIMESTAMP NOT NULL GENERATED ALWAYS AS ROW START, + sys_period_end TIMESTAMP NOT NULL GENERATED ALWAYS AS ROW END +); +alter table migtest_e_history3 add period for system_time(sys_period_start,sys_period_end); +alter table migtest_e_history3 add system versioning history table migtest_e_history3_history; +create column table migtest_e_history4_history ( + id integer, + test_number integer, + sys_period_start timestamp, + sys_period_end timestamp +); +alter table migtest_e_history4 add ( + sys_period_start TIMESTAMP NOT NULL GENERATED ALWAYS AS ROW START, + sys_period_end TIMESTAMP NOT NULL GENERATED ALWAYS AS ROW END +); +alter table migtest_e_history4 add period for system_time(sys_period_start,sys_period_end); +alter table migtest_e_history4 add system versioning history table migtest_e_history4_history; +create column table migtest_e_history5_history ( + id integer, + test_number integer, + sys_period_start timestamp, + sys_period_end timestamp +); +alter table migtest_e_history5 add ( + sys_period_start TIMESTAMP NOT NULL GENERATED ALWAYS AS ROW START, + sys_period_end TIMESTAMP NOT NULL GENERATED ALWAYS AS ROW END +); +alter table migtest_e_history5 add period for system_time(sys_period_start,sys_period_end); +alter table migtest_e_history5 add system versioning history table migtest_e_history5_history; +create column table migtest_e_history6_history ( + id integer, + test_number1 integer, + test_number2 integer default 7 not null, + sys_period_start timestamp, + sys_period_end timestamp +); +alter table migtest_e_history6 add ( + sys_period_start TIMESTAMP NOT NULL GENERATED ALWAYS AS ROW START, + sys_period_end TIMESTAMP NOT NULL GENERATED ALWAYS AS ROW END +); +alter table migtest_e_history6 add period for system_time(sys_period_start,sys_period_end); +alter table migtest_e_history6 add system versioning history table migtest_e_history6_history; diff --git a/ebean-ddl-generator/src/test/resources/dbinit/hsqldb/1.4.sql b/ebean-ddl-generator/src/test/resources/dbinit/hsqldb/1.4.sql new file mode 100644 index 000000000..f412cf6b5 --- /dev/null +++ b/ebean-ddl-generator/src/test/resources/dbinit/hsqldb/1.4.sql @@ -0,0 +1,174 @@ +-- Migrationscripts for ebean unittest +-- apply changes +create table migtest_ckey_assoc ( + id integer generated by default as identity (start with 1) not null, + assoc_one varchar(255), + constraint pk_migtest_ckey_assoc primary key (id) +); + +create table migtest_ckey_detail ( + id integer generated by default as identity (start with 1) not null, + something varchar(255), + constraint pk_migtest_ckey_detail primary key (id) +); + +create table migtest_ckey_parent ( + one_key integer not null, + two_key varchar(127) not null, + name varchar(255), + version integer not null, + constraint pk_migtest_ckey_parent primary key (one_key,two_key) +); + +create table migtest_fk_cascade ( + id bigint generated by default as identity (start with 1) not null, + one_id bigint, + constraint pk_migtest_fk_cascade primary key (id) +); + +create table migtest_fk_cascade_one ( + id bigint generated by default as identity (start with 1) not null, + constraint pk_migtest_fk_cascade_one primary key (id) +); + +create table migtest_fk_none ( + id bigint generated by default as identity (start with 1) not null, + one_id bigint, + constraint pk_migtest_fk_none primary key (id) +); + +create table migtest_fk_none_via_join ( + id bigint generated by default as identity (start with 1) not null, + one_id bigint, + constraint pk_migtest_fk_none_via_join primary key (id) +); + +create table migtest_fk_one ( + id bigint generated by default as identity (start with 1) not null, + constraint pk_migtest_fk_one primary key (id) +); + +create table migtest_fk_set_null ( + id bigint generated by default as identity (start with 1) not null, + one_id bigint, + constraint pk_migtest_fk_set_null primary key (id) +); + +create table migtest_e_basic ( + id integer generated by default as identity (start with 1) not null, + status varchar(1), + status2 varchar(1) default 'N' not null, + name varchar(127), + description varchar(127), + some_date timestamp, + old_boolean boolean default false not null, + old_boolean2 boolean, + eref_id integer, + indextest1 varchar(127), + indextest2 varchar(127), + indextest3 varchar(127), + indextest4 varchar(127), + indextest5 varchar(127), + indextest6 varchar(127), + user_id integer default 23 not null, + constraint ck_migtest_e_basic_status check ( status in ('N','A','I')), + constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I')), + constraint uq_migtest_e_basic_indextest2 unique (indextest2), + constraint uq_migtest_e_basic_indextest6 unique (indextest6), + constraint pk_migtest_e_basic primary key (id) +); + +create table migtest_e_enum ( + id integer generated by default as identity (start with 1) not null, + test_status varchar(1), + constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I')), + constraint pk_migtest_e_enum primary key (id) +); + +create table migtest_e_history ( + id integer generated by default as identity (start with 1) not null, + test_string bigint, + constraint pk_migtest_e_history primary key (id) +); + +create table migtest_e_history2 ( + id integer generated by default as identity (start with 1) not null, + test_string varchar(255), + obsolete_string1 varchar(255), + obsolete_string2 varchar(255), + constraint pk_migtest_e_history2 primary key (id) +); + +create table migtest_e_history3 ( + id integer generated by default as identity (start with 1) not null, + test_string varchar(255), + constraint pk_migtest_e_history3 primary key (id) +); + +create table migtest_e_history4 ( + id integer generated by default as identity (start with 1) not null, + test_number integer, + constraint pk_migtest_e_history4 primary key (id) +); + +create table migtest_e_history5 ( + id integer generated by default as identity (start with 1) not null, + test_number integer, + constraint pk_migtest_e_history5 primary key (id) +); + +create table migtest_e_history6 ( + id integer generated by default as identity (start with 1) not null, + test_number1 integer, + test_number2 integer default 7 not null, + constraint pk_migtest_e_history6 primary key (id) +); + +create table migtest_e_ref ( + id integer generated by default as identity (start with 1) not null, + name varchar(127) not null, + constraint uq_migtest_e_ref_name unique (name), + constraint pk_migtest_e_ref primary key (id) +); + +create table migtest_e_softdelete ( + id integer generated by default as identity (start with 1) not null, + test_string varchar(255), + constraint pk_migtest_e_softdelete primary key (id) +); + +create table migtest_mtm_c ( + id integer generated by default as identity (start with 1) not null, + name varchar(255), + constraint pk_migtest_mtm_c primary key (id) +); + +create table migtest_mtm_m ( + id bigint generated by default as identity (start with 1) not null, + name varchar(255), + constraint pk_migtest_mtm_m primary key (id) +); + +create table migtest_oto_child ( + id integer generated by default as identity (start with 1) not null, + name varchar(255), + constraint pk_migtest_oto_child primary key (id) +); + +create table migtest_oto_master ( + id bigint generated by default as identity (start with 1) not null, + name varchar(255), + constraint pk_migtest_oto_master primary key (id) +); + +create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1); +create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5); +create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id); +alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict; + +create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id); +alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict; + +create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id); +alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict; + diff --git a/ebean-ddl-generator/src/test/resources/dbinit/mysql/1.4.sql b/ebean-ddl-generator/src/test/resources/dbinit/mysql/1.4.sql new file mode 100644 index 000000000..299434e91 --- /dev/null +++ b/ebean-ddl-generator/src/test/resources/dbinit/mysql/1.4.sql @@ -0,0 +1,273 @@ +-- Migrationscripts for ebean unittest +-- apply changes +create table migtest_ckey_assoc ( + id integer auto_increment not null, + assoc_one varchar(255), + constraint pk_migtest_ckey_assoc primary key (id) +); + +create table migtest_ckey_detail ( + id integer auto_increment not null, + something varchar(255), + constraint pk_migtest_ckey_detail primary key (id) +); + +create table migtest_ckey_parent ( + one_key integer not null, + two_key varchar(127) not null, + name varchar(255), + version integer not null, + constraint pk_migtest_ckey_parent primary key (one_key,two_key) +); + +create table migtest_fk_cascade ( + id bigint auto_increment not null, + one_id bigint, + constraint pk_migtest_fk_cascade primary key (id) +); + +create table migtest_fk_cascade_one ( + id bigint auto_increment not null, + constraint pk_migtest_fk_cascade_one primary key (id) +); + +create table migtest_fk_none ( + id bigint auto_increment not null, + one_id bigint, + constraint pk_migtest_fk_none primary key (id) +); + +create table migtest_fk_none_via_join ( + id bigint auto_increment not null, + one_id bigint, + constraint pk_migtest_fk_none_via_join primary key (id) +); + +create table migtest_fk_one ( + id bigint auto_increment not null, + constraint pk_migtest_fk_one primary key (id) +); + +create table migtest_fk_set_null ( + id bigint auto_increment not null, + one_id bigint, + constraint pk_migtest_fk_set_null primary key (id) +); + +create table migtest_e_basic ( + id integer auto_increment not null, + status varchar(1), + status2 varchar(1) default 'N' not null, + name varchar(127), + description varchar(127), + some_date datetime(6), + old_boolean tinyint(1) default 0 not null, + old_boolean2 tinyint(1), + eref_id integer, + indextest1 varchar(127), + indextest2 varchar(127), + indextest3 varchar(127), + indextest4 varchar(127), + indextest5 varchar(127), + indextest6 varchar(127), + user_id integer default 23 not null, + constraint uq_migtest_e_basic_indextest2 unique (indextest2), + constraint uq_migtest_e_basic_indextest6 unique (indextest6), + constraint pk_migtest_e_basic primary key (id) +); + +create table migtest_e_enum ( + id integer auto_increment not null, + test_status varchar(1), + constraint pk_migtest_e_enum primary key (id) +); + +create table migtest_e_history ( + id integer auto_increment not null, + test_string bigint, + constraint pk_migtest_e_history primary key (id) +); + +create table migtest_e_history2 ( + id integer auto_increment not null, + test_string varchar(255), + obsolete_string1 varchar(255), + obsolete_string2 varchar(255), + constraint pk_migtest_e_history2 primary key (id) +); + +create table migtest_e_history3 ( + id integer auto_increment not null, + test_string varchar(255), + constraint pk_migtest_e_history3 primary key (id) +); + +create table migtest_e_history4 ( + id integer auto_increment not null, + test_number integer, + constraint pk_migtest_e_history4 primary key (id) +); + +create table migtest_e_history5 ( + id integer auto_increment not null, + test_number integer, + constraint pk_migtest_e_history5 primary key (id) +); + +create table migtest_e_history6 ( + id integer auto_increment not null, + test_number1 integer, + test_number2 integer default 7 not null, + constraint pk_migtest_e_history6 primary key (id) +); + +create table migtest_e_ref ( + id integer auto_increment not null, + name varchar(127) not null, + constraint uq_migtest_e_ref_name unique (name), + constraint pk_migtest_e_ref primary key (id) +); + +create table migtest_e_softdelete ( + id integer auto_increment not null, + test_string varchar(255), + constraint pk_migtest_e_softdelete primary key (id) +); + +create table migtest_mtm_c ( + id integer auto_increment not null, + name varchar(255), + constraint pk_migtest_mtm_c primary key (id) +); + +create table migtest_mtm_m ( + id bigint auto_increment not null, + name varchar(255), + constraint pk_migtest_mtm_m primary key (id) +); + +create table migtest_oto_child ( + id integer auto_increment not null, + name varchar(255), + constraint uq_m12_otoc72 unique (name), + constraint pk_migtest_oto_child primary key (id) +); + +create table migtest_oto_master ( + id bigint auto_increment not null, + name varchar(255), + constraint uq_migtest_oto_master_name unique (name), + constraint pk_migtest_oto_master primary key (id) +); + +create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1); +create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5); +create index ix_m12_otoc72 on migtest_oto_child (name); +create index ix_migtest_oto_master_name on migtest_oto_master (name); +create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id); +alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict; + +create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id); +alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict; + +create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id); +alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict; + +alter table migtest_e_history2 add column sys_period_start datetime(6) default now(6); +alter table migtest_e_history2 add column sys_period_end datetime(6); +create table migtest_e_history2_history( + id integer, + test_string varchar(255), + obsolete_string1 varchar(255), + obsolete_string2 varchar(255), + sys_period_start datetime(6), + sys_period_end datetime(6) +); +create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history; + +alter table migtest_e_history3 add column sys_period_start datetime(6) default now(6); +alter table migtest_e_history3 add column sys_period_end datetime(6); +create table migtest_e_history3_history( + id integer, + test_string varchar(255), + sys_period_start datetime(6), + sys_period_end datetime(6) +); +create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history; + +alter table migtest_e_history4 add column sys_period_start datetime(6) default now(6); +alter table migtest_e_history4 add column sys_period_end datetime(6); +create table migtest_e_history4_history( + id integer, + test_number integer, + sys_period_start datetime(6), + sys_period_end datetime(6) +); +create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history; + +alter table migtest_e_history5 add column sys_period_start datetime(6) default now(6); +alter table migtest_e_history5 add column sys_period_end datetime(6); +create table migtest_e_history5_history( + id integer, + test_number integer, + sys_period_start datetime(6), + sys_period_end datetime(6) +); +create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history; + +alter table migtest_e_history6 add column sys_period_start datetime(6) default now(6); +alter table migtest_e_history6 add column sys_period_end datetime(6); +create table migtest_e_history6_history( + id integer, + test_number1 integer, + test_number2 integer, + sys_period_start datetime(6), + sys_period_end datetime(6) +); +create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history; + +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); + set NEW.sys_period_start = now(6); +end$$ +delimiter $$ +create trigger migtest_e_history2_history_del before delete 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); +end$$ +delimiter $$ +create trigger migtest_e_history3_history_upd before update on migtest_e_history3 for each row begin + insert into migtest_e_history3_history (sys_period_start,sys_period_end,id, test_string) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_string); + set NEW.sys_period_start = now(6); +end$$ +delimiter $$ +create trigger migtest_e_history3_history_del before delete on migtest_e_history3 for each row begin + insert into migtest_e_history3_history (sys_period_start,sys_period_end,id, test_string) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_string); +end$$ +delimiter $$ +create trigger migtest_e_history4_history_upd before update on migtest_e_history4 for each row begin + insert into migtest_e_history4_history (sys_period_start,sys_period_end,id, test_number) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_number); + set NEW.sys_period_start = now(6); +end$$ +delimiter $$ +create trigger migtest_e_history4_history_del before delete on migtest_e_history4 for each row begin + insert into migtest_e_history4_history (sys_period_start,sys_period_end,id, test_number) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_number); +end$$ +delimiter $$ +create trigger migtest_e_history5_history_upd before update on migtest_e_history5 for each row begin + insert into migtest_e_history5_history (sys_period_start,sys_period_end,id, test_number) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_number); + set NEW.sys_period_start = now(6); +end$$ +delimiter $$ +create trigger migtest_e_history5_history_del before delete on migtest_e_history5 for each row begin + insert into migtest_e_history5_history (sys_period_start,sys_period_end,id, test_number) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_number); +end$$ +delimiter $$ +create trigger migtest_e_history6_history_upd before update on migtest_e_history6 for each row begin + insert into migtest_e_history6_history (sys_period_start,sys_period_end,id, test_number1, test_number2) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_number1, OLD.test_number2); + set NEW.sys_period_start = now(6); +end$$ +delimiter $$ +create trigger migtest_e_history6_history_del before delete on migtest_e_history6 for each row begin + insert into migtest_e_history6_history (sys_period_start,sys_period_end,id, test_number1, test_number2) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_number1, OLD.test_number2); +end$$ diff --git a/ebean-ddl-generator/src/test/resources/dbinit/mysql55/1.4.sql b/ebean-ddl-generator/src/test/resources/dbinit/mysql55/1.4.sql new file mode 100644 index 000000000..f6134f219 --- /dev/null +++ b/ebean-ddl-generator/src/test/resources/dbinit/mysql55/1.4.sql @@ -0,0 +1,273 @@ +-- Migrationscripts for ebean unittest +-- apply changes +create table migtest_ckey_assoc ( + id integer auto_increment not null, + assoc_one varchar(255), + constraint pk_migtest_ckey_assoc primary key (id) +); + +create table migtest_ckey_detail ( + id integer auto_increment not null, + something varchar(255), + constraint pk_migtest_ckey_detail primary key (id) +); + +create table migtest_ckey_parent ( + one_key integer not null, + two_key varchar(127) not null, + name varchar(255), + version integer not null, + constraint pk_migtest_ckey_parent primary key (one_key,two_key) +); + +create table migtest_fk_cascade ( + id bigint auto_increment not null, + one_id bigint, + constraint pk_migtest_fk_cascade primary key (id) +); + +create table migtest_fk_cascade_one ( + id bigint auto_increment not null, + constraint pk_migtest_fk_cascade_one primary key (id) +); + +create table migtest_fk_none ( + id bigint auto_increment not null, + one_id bigint, + constraint pk_migtest_fk_none primary key (id) +); + +create table migtest_fk_none_via_join ( + id bigint auto_increment not null, + one_id bigint, + constraint pk_migtest_fk_none_via_join primary key (id) +); + +create table migtest_fk_one ( + id bigint auto_increment not null, + constraint pk_migtest_fk_one primary key (id) +); + +create table migtest_fk_set_null ( + id bigint auto_increment not null, + one_id bigint, + constraint pk_migtest_fk_set_null primary key (id) +); + +create table migtest_e_basic ( + id integer auto_increment not null, + status varchar(1), + status2 varchar(1) default 'N' not null, + name varchar(127), + description varchar(127), + some_date datetime, + old_boolean tinyint(1) default 0 not null, + old_boolean2 tinyint(1), + eref_id integer, + indextest1 varchar(127), + indextest2 varchar(127), + indextest3 varchar(127), + indextest4 varchar(127), + indextest5 varchar(127), + indextest6 varchar(127), + user_id integer default 23 not null, + constraint uq_migtest_e_basic_indextest2 unique (indextest2), + constraint uq_migtest_e_basic_indextest6 unique (indextest6), + constraint pk_migtest_e_basic primary key (id) +); + +create table migtest_e_enum ( + id integer auto_increment not null, + test_status varchar(1), + constraint pk_migtest_e_enum primary key (id) +); + +create table migtest_e_history ( + id integer auto_increment not null, + test_string bigint, + constraint pk_migtest_e_history primary key (id) +); + +create table migtest_e_history2 ( + id integer auto_increment not null, + test_string varchar(255), + obsolete_string1 varchar(255), + obsolete_string2 varchar(255), + constraint pk_migtest_e_history2 primary key (id) +); + +create table migtest_e_history3 ( + id integer auto_increment not null, + test_string varchar(255), + constraint pk_migtest_e_history3 primary key (id) +); + +create table migtest_e_history4 ( + id integer auto_increment not null, + test_number integer, + constraint pk_migtest_e_history4 primary key (id) +); + +create table migtest_e_history5 ( + id integer auto_increment not null, + test_number integer, + constraint pk_migtest_e_history5 primary key (id) +); + +create table migtest_e_history6 ( + id integer auto_increment not null, + test_number1 integer, + test_number2 integer default 7 not null, + constraint pk_migtest_e_history6 primary key (id) +); + +create table migtest_e_ref ( + id integer auto_increment not null, + name varchar(127) not null, + constraint uq_migtest_e_ref_name unique (name), + constraint pk_migtest_e_ref primary key (id) +); + +create table migtest_e_softdelete ( + id integer auto_increment not null, + test_string varchar(255), + constraint pk_migtest_e_softdelete primary key (id) +); + +create table migtest_mtm_c ( + id integer auto_increment not null, + name varchar(255), + constraint pk_migtest_mtm_c primary key (id) +); + +create table migtest_mtm_m ( + id bigint auto_increment not null, + name varchar(255), + constraint pk_migtest_mtm_m primary key (id) +); + +create table migtest_oto_child ( + id integer auto_increment not null, + name varchar(255), + constraint uq_m12_otoc72 unique (name), + constraint pk_migtest_oto_child primary key (id) +); + +create table migtest_oto_master ( + id bigint auto_increment not null, + name varchar(255), + constraint uq_migtest_oto_master_name unique (name), + constraint pk_migtest_oto_master primary key (id) +); + +create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1); +create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5); +create index ix_m12_otoc72 on migtest_oto_child (name); +create index ix_migtest_oto_master_name on migtest_oto_master (name); +create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id); +alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict; + +create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id); +alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict; + +create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id); +alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict; + +alter table migtest_e_history2 add column sys_period_start datetime(6) default now(6); +alter table migtest_e_history2 add column sys_period_end datetime(6); +create table migtest_e_history2_history( + id integer, + test_string varchar(255), + obsolete_string1 varchar(255), + obsolete_string2 varchar(255), + sys_period_start datetime(6), + sys_period_end datetime(6) +); +create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history; + +alter table migtest_e_history3 add column sys_period_start datetime(6) default now(6); +alter table migtest_e_history3 add column sys_period_end datetime(6); +create table migtest_e_history3_history( + id integer, + test_string varchar(255), + sys_period_start datetime(6), + sys_period_end datetime(6) +); +create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history; + +alter table migtest_e_history4 add column sys_period_start datetime(6) default now(6); +alter table migtest_e_history4 add column sys_period_end datetime(6); +create table migtest_e_history4_history( + id integer, + test_number integer, + sys_period_start datetime(6), + sys_period_end datetime(6) +); +create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history; + +alter table migtest_e_history5 add column sys_period_start datetime(6) default now(6); +alter table migtest_e_history5 add column sys_period_end datetime(6); +create table migtest_e_history5_history( + id integer, + test_number integer, + sys_period_start datetime(6), + sys_period_end datetime(6) +); +create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history; + +alter table migtest_e_history6 add column sys_period_start datetime(6) default now(6); +alter table migtest_e_history6 add column sys_period_end datetime(6); +create table migtest_e_history6_history( + id integer, + test_number1 integer, + test_number2 integer, + sys_period_start datetime(6), + sys_period_end datetime(6) +); +create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history; + +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); + set NEW.sys_period_start = now(6); +end$$ +delimiter $$ +create trigger migtest_e_history2_history_del before delete 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); +end$$ +delimiter $$ +create trigger migtest_e_history3_history_upd before update on migtest_e_history3 for each row begin + insert into migtest_e_history3_history (sys_period_start,sys_period_end,id, test_string) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_string); + set NEW.sys_period_start = now(6); +end$$ +delimiter $$ +create trigger migtest_e_history3_history_del before delete on migtest_e_history3 for each row begin + insert into migtest_e_history3_history (sys_period_start,sys_period_end,id, test_string) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_string); +end$$ +delimiter $$ +create trigger migtest_e_history4_history_upd before update on migtest_e_history4 for each row begin + insert into migtest_e_history4_history (sys_period_start,sys_period_end,id, test_number) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_number); + set NEW.sys_period_start = now(6); +end$$ +delimiter $$ +create trigger migtest_e_history4_history_del before delete on migtest_e_history4 for each row begin + insert into migtest_e_history4_history (sys_period_start,sys_period_end,id, test_number) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_number); +end$$ +delimiter $$ +create trigger migtest_e_history5_history_upd before update on migtest_e_history5 for each row begin + insert into migtest_e_history5_history (sys_period_start,sys_period_end,id, test_number) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_number); + set NEW.sys_period_start = now(6); +end$$ +delimiter $$ +create trigger migtest_e_history5_history_del before delete on migtest_e_history5 for each row begin + insert into migtest_e_history5_history (sys_period_start,sys_period_end,id, test_number) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_number); +end$$ +delimiter $$ +create trigger migtest_e_history6_history_upd before update on migtest_e_history6 for each row begin + insert into migtest_e_history6_history (sys_period_start,sys_period_end,id, test_number1, test_number2) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_number1, OLD.test_number2); + set NEW.sys_period_start = now(6); +end$$ +delimiter $$ +create trigger migtest_e_history6_history_del before delete on migtest_e_history6 for each row begin + insert into migtest_e_history6_history (sys_period_start,sys_period_end,id, test_number1, test_number2) values (OLD.sys_period_start, now(6),OLD.id, OLD.test_number1, OLD.test_number2); +end$$ diff --git a/ebean-ddl-generator/src/test/resources/dbinit/oracle/1.4.sql b/ebean-ddl-generator/src/test/resources/dbinit/oracle/1.4.sql new file mode 100644 index 000000000..d0b79a1cc --- /dev/null +++ b/ebean-ddl-generator/src/test/resources/dbinit/oracle/1.4.sql @@ -0,0 +1,174 @@ +-- Migrationscripts for ebean unittest +-- apply changes +create table migtest_ckey_assoc ( + id number(10) generated by default as identity not null, + assoc_one varchar2(255), + constraint pk_migtest_ckey_assoc primary key (id) +); + +create table migtest_ckey_detail ( + id number(10) generated by default as identity not null, + something varchar2(255), + constraint pk_migtest_ckey_detail primary key (id) +); + +create table migtest_ckey_parent ( + one_key number(10) not null, + two_key varchar2(127) not null, + name varchar2(255), + version number(10) not null, + constraint pk_migtest_ckey_parent primary key (one_key,two_key) +); + +create table migtest_fk_cascade ( + id number(19) generated by default as identity not null, + one_id number(19), + constraint pk_migtest_fk_cascade primary key (id) +); + +create table migtest_fk_cascade_one ( + id number(19) generated by default as identity not null, + constraint pk_migtest_fk_cascade_one primary key (id) +); + +create table migtest_fk_none ( + id number(19) generated by default as identity not null, + one_id number(19), + constraint pk_migtest_fk_none primary key (id) +); + +create table migtest_fk_none_via_join ( + id number(19) generated by default as identity not null, + one_id number(19), + constraint pk_migtest_fk_none_via_join primary key (id) +); + +create table migtest_fk_one ( + id number(19) generated by default as identity not null, + constraint pk_migtest_fk_one primary key (id) +); + +create table migtest_fk_set_null ( + id number(19) generated by default as identity not null, + one_id number(19), + constraint pk_migtest_fk_set_null primary key (id) +); + +create table migtest_e_basic ( + id number(10) generated by default as identity not null, + status varchar2(1), + status2 varchar2(1) default 'N' not null, + name varchar2(127), + description varchar2(127), + some_date timestamp, + old_boolean number(1) default 0 not null, + old_boolean2 number(1), + eref_id number(10), + indextest1 varchar2(127), + indextest2 varchar2(127), + indextest3 varchar2(127), + indextest4 varchar2(127), + indextest5 varchar2(127), + indextest6 varchar2(127), + user_id number(10) default 23 not null, + constraint ck_migtest_e_basic_status check ( status in ('N','A','I')), + constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I')), + constraint uq_migtest_e_basic_indextest2 unique (indextest2), + constraint uq_migtest_e_basic_indextest6 unique (indextest6), + constraint pk_migtest_e_basic primary key (id) +); + +create table migtest_e_enum ( + id number(10) generated by default as identity not null, + test_status varchar2(1), + constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I')), + constraint pk_migtest_e_enum primary key (id) +); + +create table migtest_e_history ( + id number(10) generated by default as identity not null, + test_string number(19), + constraint pk_migtest_e_history primary key (id) +); + +create table migtest_e_history2 ( + id number(10) generated by default as identity not null, + test_string varchar2(255), + obsolete_string1 varchar2(255), + obsolete_string2 varchar2(255), + constraint pk_migtest_e_history2 primary key (id) +); + +create table migtest_e_history3 ( + id number(10) generated by default as identity not null, + test_string varchar2(255), + constraint pk_migtest_e_history3 primary key (id) +); + +create table migtest_e_history4 ( + id number(10) generated by default as identity not null, + test_number number(10), + constraint pk_migtest_e_history4 primary key (id) +); + +create table migtest_e_history5 ( + id number(10) generated by default as identity not null, + test_number number(10), + constraint pk_migtest_e_history5 primary key (id) +); + +create table migtest_e_history6 ( + id number(10) generated by default as identity not null, + test_number1 number(10), + test_number2 number(10) default 7 not null, + constraint pk_migtest_e_history6 primary key (id) +); + +create table migtest_e_ref ( + id number(10) generated by default as identity not null, + name varchar2(127) not null, + constraint uq_migtest_e_ref_name unique (name), + constraint pk_migtest_e_ref primary key (id) +); + +create table migtest_e_softdelete ( + id number(10) generated by default as identity not null, + test_string varchar2(255), + constraint pk_migtest_e_softdelete primary key (id) +); + +create table migtest_mtm_c ( + id number(10) generated by default as identity not null, + name varchar2(255), + constraint pk_migtest_mtm_c primary key (id) +); + +create table migtest_mtm_m ( + id number(19) generated by default as identity not null, + name varchar2(255), + constraint pk_migtest_mtm_m primary key (id) +); + +create table migtest_oto_child ( + id number(10) generated by default as identity not null, + name varchar2(255), + constraint pk_migtest_oto_child primary key (id) +); + +create table migtest_oto_master ( + id number(19) generated by default as identity not null, + name varchar2(255), + constraint pk_migtest_oto_master primary key (id) +); + +create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1); +create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5); +create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id); +alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade; + +create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id); +alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null; + +create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id); +alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id); + diff --git a/ebean-ddl-generator/src/test/resources/dbinit/postgres/1.4.sql b/ebean-ddl-generator/src/test/resources/dbinit/postgres/1.4.sql new file mode 100644 index 000000000..7eadc584c --- /dev/null +++ b/ebean-ddl-generator/src/test/resources/dbinit/postgres/1.4.sql @@ -0,0 +1,308 @@ +-- Migrationscripts for ebean unittest +-- apply changes +create table migtest_ckey_assoc ( + id integer generated by default as identity not null, + assoc_one varchar(255), + constraint pk_migtest_ckey_assoc primary key (id) +); + +create table migtest_ckey_detail ( + id integer generated by default as identity not null, + something varchar(255), + constraint pk_migtest_ckey_detail primary key (id) +); + +create table migtest_ckey_parent ( + one_key integer not null, + two_key varchar(127) not null, + name varchar(255), + version integer not null, + constraint pk_migtest_ckey_parent primary key (one_key,two_key) +); + +create table migtest_fk_cascade ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_cascade primary key (id) +); + +create table migtest_fk_cascade_one ( + id bigint generated by default as identity not null, + constraint pk_migtest_fk_cascade_one primary key (id) +); + +create table migtest_fk_none ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_none primary key (id) +); + +create table migtest_fk_none_via_join ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_none_via_join primary key (id) +); + +create table migtest_fk_one ( + id bigint generated by default as identity not null, + constraint pk_migtest_fk_one primary key (id) +); + +create table migtest_fk_set_null ( + id bigint generated by default as identity not null, + one_id bigint, + constraint pk_migtest_fk_set_null primary key (id) +); + +create table migtest_e_basic ( + id integer generated by default as identity not null, + status varchar(1), + status2 varchar(1) default 'N' not null, + name varchar(127), + description varchar(127), + some_date timestamptz, + old_boolean boolean default false not null, + old_boolean2 boolean, + eref_id integer, + indextest1 varchar(127), + indextest2 varchar(127), + indextest3 varchar(127), + indextest4 varchar(127), + indextest5 varchar(127), + indextest6 varchar(127), + user_id integer default 23 not null, + constraint ck_migtest_e_basic_status check ( status in ('N','A','I')), + constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I')), + constraint uq_migtest_e_basic_indextest2 unique (indextest2), + constraint uq_migtest_e_basic_indextest6 unique (indextest6), + constraint pk_migtest_e_basic primary key (id) +); + +create table migtest_e_enum ( + id integer generated by default as identity not null, + test_status varchar(1), + constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I')), + constraint pk_migtest_e_enum primary key (id) +); + +create table migtest_e_history ( + id integer generated by default as identity not null, + test_string bigint, + constraint pk_migtest_e_history primary key (id) +); + +create table migtest_e_history2 ( + id integer generated by default as identity not null, + test_string varchar(255), + obsolete_string1 varchar(255), + obsolete_string2 varchar(255), + constraint pk_migtest_e_history2 primary key (id) +); + +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) +); + +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) +); + +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) +); + +create table migtest_e_history6 ( + id integer generated by default as identity not null, + test_number1 integer, + test_number2 integer default 7 not null, + constraint pk_migtest_e_history6 primary key (id) +); + +create table migtest_e_ref ( + id integer generated by default as identity not null, + name varchar(127) not null, + constraint uq_migtest_e_ref_name unique (name), + constraint pk_migtest_e_ref primary key (id) +); + +create table migtest_e_softdelete ( + id integer generated by default as identity not null, + test_string varchar(255), + constraint pk_migtest_e_softdelete primary key (id) +); + +create table migtest_mtm_c ( + id integer generated by default as identity not null, + name varchar(255), + constraint pk_migtest_mtm_c primary key (id) +); + +create table migtest_mtm_m ( + id bigint generated by default as identity not null, + name varchar(255), + constraint pk_migtest_mtm_m primary key (id) +); + +create table migtest_oto_child ( + id integer generated by default as identity not null, + name varchar(255), + constraint pk_migtest_oto_child primary key (id) +); + +create table migtest_oto_master ( + id bigint generated by default as identity not null, + name varchar(255), + constraint pk_migtest_oto_master primary key (id) +); + +create index if not exists ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1); +create index if not exists ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5); +create index if not exists ix_m12_otoc71 on migtest_oto_child (name); +create unique index if not exists uq_m12_otoc71 on migtest_oto_child (lower(name)); +create index if not exists ix_migtest_oto_child_name on migtest_oto_child (name); +create unique index if not exists ix_migtest_oto_master_lowername on migtest_oto_master (lower(name)); +create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id); +alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict; + +create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id); +alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict; + +create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id); +alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict; + +alter table migtest_e_history2 add column sys_period tstzrange not null default tstzrange(current_timestamp, null); +create table migtest_e_history2_history(like migtest_e_history2); +create view migtest_e_history2_with_history as select * from migtest_e_history2 union all select * from migtest_e_history2_history; + +alter table migtest_e_history3 add column sys_period tstzrange not null default tstzrange(current_timestamp, null); +create table migtest_e_history3_history(like migtest_e_history3); +create view migtest_e_history3_with_history as select * from migtest_e_history3 union all select * from migtest_e_history3_history; + +alter table migtest_e_history4 add column sys_period tstzrange not null default tstzrange(current_timestamp, null); +create table migtest_e_history4_history(like migtest_e_history4); +create view migtest_e_history4_with_history as select * from migtest_e_history4 union all select * from migtest_e_history4_history; + +alter table migtest_e_history5 add column sys_period tstzrange not null default tstzrange(current_timestamp, null); +create table migtest_e_history5_history(like migtest_e_history5); +create view migtest_e_history5_with_history as select * from migtest_e_history5 union all select * from migtest_e_history5_history; + +alter table migtest_e_history6 add column sys_period tstzrange not null default tstzrange(current_timestamp, null); +create table migtest_e_history6_history(like migtest_e_history6); +create view migtest_e_history6_with_history as select * from migtest_e_history6 union all select * from migtest_e_history6_history; + +create or replace function migtest_e_history2_history_version() returns trigger as $$ +declare + lowerTs timestamptz; + upperTs timestamptz; +begin + lowerTs = lower(OLD.sys_period); + upperTs = greatest(lowerTs + '1 microsecond',current_timestamp); + if (TG_OP = 'UPDATE') then + insert into migtest_e_history2_history (sys_period,id, test_string, obsolete_string2) values (tstzrange(lowerTs,upperTs), OLD.id, OLD.test_string, OLD.obsolete_string2); + NEW.sys_period = tstzrange(upperTs,null); + return new; + elsif (TG_OP = 'DELETE') then + insert into migtest_e_history2_history (sys_period,id, test_string, obsolete_string2) values (tstzrange(lowerTs,upperTs), OLD.id, OLD.test_string, OLD.obsolete_string2); + return old; + end if; +end; +$$ LANGUAGE plpgsql; + +create trigger migtest_e_history2_history_upd + before update or delete on migtest_e_history2 + for each row execute procedure migtest_e_history2_history_version(); + +create or replace function migtest_e_history3_history_version() returns trigger as $$ +declare + lowerTs timestamptz; + upperTs timestamptz; +begin + lowerTs = lower(OLD.sys_period); + upperTs = greatest(lowerTs + '1 microsecond',current_timestamp); + if (TG_OP = 'UPDATE') then + insert into migtest_e_history3_history (sys_period,id, test_string) values (tstzrange(lowerTs,upperTs), OLD.id, OLD.test_string); + NEW.sys_period = tstzrange(upperTs,null); + return new; + elsif (TG_OP = 'DELETE') then + insert into migtest_e_history3_history (sys_period,id, test_string) values (tstzrange(lowerTs,upperTs), OLD.id, OLD.test_string); + return old; + end if; +end; +$$ LANGUAGE plpgsql; + +create trigger migtest_e_history3_history_upd + before update or delete on migtest_e_history3 + for each row execute procedure migtest_e_history3_history_version(); + +create or replace function migtest_e_history4_history_version() returns trigger as $$ +declare + lowerTs timestamptz; + upperTs timestamptz; +begin + lowerTs = lower(OLD.sys_period); + upperTs = greatest(lowerTs + '1 microsecond',current_timestamp); + if (TG_OP = 'UPDATE') then + insert into migtest_e_history4_history (sys_period,id, test_number) values (tstzrange(lowerTs,upperTs), OLD.id, OLD.test_number); + NEW.sys_period = tstzrange(upperTs,null); + return new; + elsif (TG_OP = 'DELETE') then + insert into migtest_e_history4_history (sys_period,id, test_number) values (tstzrange(lowerTs,upperTs), OLD.id, OLD.test_number); + return old; + end if; +end; +$$ LANGUAGE plpgsql; + +create trigger migtest_e_history4_history_upd + before update or delete on migtest_e_history4 + for each row execute procedure migtest_e_history4_history_version(); + +create or replace function migtest_e_history5_history_version() returns trigger as $$ +declare + lowerTs timestamptz; + upperTs timestamptz; +begin + lowerTs = lower(OLD.sys_period); + upperTs = greatest(lowerTs + '1 microsecond',current_timestamp); + if (TG_OP = 'UPDATE') then + insert into migtest_e_history5_history (sys_period,id, test_number) values (tstzrange(lowerTs,upperTs), OLD.id, OLD.test_number); + NEW.sys_period = tstzrange(upperTs,null); + return new; + elsif (TG_OP = 'DELETE') then + insert into migtest_e_history5_history (sys_period,id, test_number) values (tstzrange(lowerTs,upperTs), OLD.id, OLD.test_number); + return old; + end if; +end; +$$ LANGUAGE plpgsql; + +create trigger migtest_e_history5_history_upd + before update or delete on migtest_e_history5 + for each row execute procedure migtest_e_history5_history_version(); + +create or replace function migtest_e_history6_history_version() returns trigger as $$ +declare + lowerTs timestamptz; + upperTs timestamptz; +begin + lowerTs = lower(OLD.sys_period); + upperTs = greatest(lowerTs + '1 microsecond',current_timestamp); + if (TG_OP = 'UPDATE') then + insert into migtest_e_history6_history (sys_period,id, test_number1, test_number2) values (tstzrange(lowerTs,upperTs), OLD.id, OLD.test_number1, OLD.test_number2); + NEW.sys_period = tstzrange(upperTs,null); + return new; + elsif (TG_OP = 'DELETE') then + insert into migtest_e_history6_history (sys_period,id, test_number1, test_number2) values (tstzrange(lowerTs,upperTs), OLD.id, OLD.test_number1, OLD.test_number2); + return old; + end if; +end; +$$ LANGUAGE plpgsql; + +create trigger migtest_e_history6_history_upd + before update or delete on migtest_e_history6 + for each row execute procedure migtest_e_history6_history_version(); + diff --git a/ebean-ddl-generator/src/test/resources/dbinit/sqlite/1.4.sql b/ebean-ddl-generator/src/test/resources/dbinit/sqlite/1.4.sql new file mode 100644 index 000000000..533249ed9 --- /dev/null +++ b/ebean-ddl-generator/src/test/resources/dbinit/sqlite/1.4.sql @@ -0,0 +1,168 @@ +-- Migrationscripts for ebean unittest +-- apply changes +create table migtest_ckey_assoc ( + id integer not null, + assoc_one varchar(255), + constraint pk_migtest_ckey_assoc primary key (id) +); + +create table migtest_ckey_detail ( + id integer not null, + something varchar(255), + constraint pk_migtest_ckey_detail primary key (id) +); + +create table migtest_ckey_parent ( + one_key integer not null, + two_key varchar(127) not null, + name varchar(255), + version integer not null, + constraint pk_migtest_ckey_parent primary key (one_key,two_key) +); + +create table migtest_fk_cascade ( + id integer not null, + one_id integer, + constraint pk_migtest_fk_cascade primary key (id), + foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade on update restrict +); + +create table migtest_fk_cascade_one ( + id integer not null, + constraint pk_migtest_fk_cascade_one primary key (id) +); + +create table migtest_fk_none ( + id integer not null, + one_id integer, + constraint pk_migtest_fk_none primary key (id) +); + +create table migtest_fk_none_via_join ( + id integer not null, + one_id integer, + constraint pk_migtest_fk_none_via_join primary key (id) +); + +create table migtest_fk_one ( + id integer not null, + constraint pk_migtest_fk_one primary key (id) +); + +create table migtest_fk_set_null ( + id integer not null, + one_id integer, + constraint pk_migtest_fk_set_null primary key (id), + foreign key (one_id) references migtest_fk_one (id) on delete set null on update restrict +); + +create table migtest_e_basic ( + id integer not null, + status varchar(1), + status2 varchar(1) default 'N' not null, + name varchar(127), + description varchar(127), + some_date timestamp, + old_boolean int default 0 not null, + old_boolean2 int, + eref_id integer, + indextest1 varchar(127), + indextest2 varchar(127), + indextest3 varchar(127), + indextest4 varchar(127), + indextest5 varchar(127), + indextest6 varchar(127), + user_id integer default 23 not null, + constraint ck_migtest_e_basic_status check ( status in ('N','A','I')), + constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I')), + constraint uq_migtest_e_basic_indextest2 unique (indextest2), + constraint uq_migtest_e_basic_indextest6 unique (indextest6), + constraint pk_migtest_e_basic primary key (id), + foreign key (eref_id) references migtest_e_ref (id) on delete restrict on update restrict +); + +create table migtest_e_enum ( + id integer not null, + test_status varchar(1), + constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I')), + constraint pk_migtest_e_enum primary key (id) +); + +create table migtest_e_history ( + id integer not null, + test_string integer, + constraint pk_migtest_e_history primary key (id) +); + +create table migtest_e_history2 ( + id integer not null, + test_string varchar(255), + obsolete_string1 varchar(255), + obsolete_string2 varchar(255), + constraint pk_migtest_e_history2 primary key (id) +); + +create table migtest_e_history3 ( + id integer not null, + test_string varchar(255), + constraint pk_migtest_e_history3 primary key (id) +); + +create table migtest_e_history4 ( + id integer not null, + test_number integer, + constraint pk_migtest_e_history4 primary key (id) +); + +create table migtest_e_history5 ( + id integer not null, + test_number integer, + constraint pk_migtest_e_history5 primary key (id) +); + +create table migtest_e_history6 ( + id integer not null, + test_number1 integer, + test_number2 integer default 7 not null, + constraint pk_migtest_e_history6 primary key (id) +); + +create table migtest_e_ref ( + id integer not null, + name varchar(127) not null, + constraint uq_migtest_e_ref_name unique (name), + constraint pk_migtest_e_ref primary key (id) +); + +create table migtest_e_softdelete ( + id integer not null, + test_string varchar(255), + constraint pk_migtest_e_softdelete primary key (id) +); + +create table migtest_mtm_c ( + id integer not null, + name varchar(255), + constraint pk_migtest_mtm_c primary key (id) +); + +create table migtest_mtm_m ( + id integer not null, + name varchar(255), + constraint pk_migtest_mtm_m primary key (id) +); + +create table migtest_oto_child ( + id integer not null, + name varchar(255), + constraint pk_migtest_oto_child primary key (id) +); + +create table migtest_oto_master ( + id integer not null, + name varchar(255), + 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); diff --git a/ebean-ddl-generator/src/test/resources/dbinit/sqlserver17/1.4.sql b/ebean-ddl-generator/src/test/resources/dbinit/sqlserver17/1.4.sql new file mode 100644 index 000000000..a6653f5c1 --- /dev/null +++ b/ebean-ddl-generator/src/test/resources/dbinit/sqlserver17/1.4.sql @@ -0,0 +1,221 @@ +-- Migrationscripts for ebean unittest +-- apply changes +create table migtest_ckey_assoc ( + id integer not null, + assoc_one nvarchar(255), + constraint pk_migtest_ckey_assoc primary key (id) +); +create sequence migtest_ckey_assoc_seq as bigint start with 1; + +create table migtest_ckey_detail ( + id integer not null, + something nvarchar(255), + constraint pk_migtest_ckey_detail primary key (id) +); +create sequence migtest_ckey_detail_seq as bigint start with 1; + +create table migtest_ckey_parent ( + one_key integer not null, + two_key nvarchar(127) not null, + name nvarchar(255), + version integer not null, + constraint pk_migtest_ckey_parent primary key (one_key,two_key) +); + +create table migtest_fk_cascade ( + id numeric(19) not null, + one_id numeric(19), + constraint pk_migtest_fk_cascade primary key (id) +); +create sequence migtest_fk_cascade_seq as bigint start with 1; + +create table migtest_fk_cascade_one ( + id numeric(19) not null, + constraint pk_migtest_fk_cascade_one primary key (id) +); +create sequence migtest_fk_cascade_one_seq as bigint start with 1; + +create table migtest_fk_none ( + id numeric(19) not null, + one_id numeric(19), + constraint pk_migtest_fk_none primary key (id) +); +create sequence migtest_fk_none_seq as bigint start with 1; + +create table migtest_fk_none_via_join ( + id numeric(19) not null, + one_id numeric(19), + constraint pk_migtest_fk_none_via_join primary key (id) +); +create sequence migtest_fk_none_via_join_seq as bigint start with 1; + +create table migtest_fk_one ( + id numeric(19) not null, + constraint pk_migtest_fk_one primary key (id) +); +create sequence migtest_fk_one_seq as bigint start with 1; + +create table migtest_fk_set_null ( + id numeric(19) not null, + one_id numeric(19), + constraint pk_migtest_fk_set_null primary key (id) +); +create sequence migtest_fk_set_null_seq as bigint start with 1; + +create table migtest_e_basic ( + id integer not null, + status nvarchar(1), + status2 nvarchar(1) default 'N' not null, + name nvarchar(127), + description nvarchar(127), + some_date datetime2, + old_boolean bit default 0 not null, + old_boolean2 bit, + eref_id integer, + indextest1 nvarchar(127), + indextest2 nvarchar(127), + indextest3 nvarchar(127), + indextest4 nvarchar(127), + indextest5 nvarchar(127), + indextest6 nvarchar(127), + user_id integer default 23 not null, + constraint ck_migtest_e_basic_status check ( status in ('N','A','I')), + constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I')), + constraint pk_migtest_e_basic primary key (id) +); +create unique nonclustered index uq_migtest_e_basic_indextest2 on migtest_e_basic(indextest2) where indextest2 is not null; +create unique nonclustered index uq_migtest_e_basic_indextest6 on migtest_e_basic(indextest6) where indextest6 is not null; +create sequence migtest_e_basic_seq as bigint start with 1; + +create table migtest_e_enum ( + id integer not null, + test_status nvarchar(1), + constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I')), + constraint pk_migtest_e_enum primary key (id) +); +create sequence migtest_e_enum_seq as bigint start with 1; + +create table migtest_e_history ( + id integer not null, + test_string numeric(19), + constraint pk_migtest_e_history primary key (id) +); +create sequence migtest_e_history_seq as bigint start with 1; + +create table migtest_e_history2 ( + id integer not null, + test_string nvarchar(255), + obsolete_string1 nvarchar(255), + obsolete_string2 nvarchar(255), + constraint pk_migtest_e_history2 primary key (id) +); +create sequence migtest_e_history2_seq as bigint start with 1; + +create table migtest_e_history3 ( + id integer not null, + test_string nvarchar(255), + constraint pk_migtest_e_history3 primary key (id) +); +create sequence migtest_e_history3_seq as bigint start with 1; + +create table migtest_e_history4 ( + id integer not null, + test_number integer, + constraint pk_migtest_e_history4 primary key (id) +); +create sequence migtest_e_history4_seq as bigint start with 1; + +create table migtest_e_history5 ( + id integer not null, + test_number integer, + constraint pk_migtest_e_history5 primary key (id) +); +create sequence migtest_e_history5_seq as bigint start with 1; + +create table migtest_e_history6 ( + id integer not null, + test_number1 integer, + test_number2 integer default 7 not null, + constraint pk_migtest_e_history6 primary key (id) +); +create sequence migtest_e_history6_seq as bigint start with 1; + +create table migtest_e_ref ( + id integer not null, + name nvarchar(127) not null, + constraint pk_migtest_e_ref primary key (id) +); +alter table migtest_e_ref add constraint uq_migtest_e_ref_name unique (name); +create sequence migtest_e_ref_seq as bigint start with 1; + +create table migtest_e_softdelete ( + id integer not null, + test_string nvarchar(255), + constraint pk_migtest_e_softdelete primary key (id) +); +create sequence migtest_e_softdelete_seq as bigint start with 1; + +create table migtest_mtm_c ( + id integer not null, + name nvarchar(255), + constraint pk_migtest_mtm_c primary key (id) +); +create sequence migtest_mtm_c_seq as bigint start with 1; + +create table migtest_mtm_m ( + id numeric(19) not null, + name nvarchar(255), + constraint pk_migtest_mtm_m primary key (id) +); +create sequence migtest_mtm_m_seq as bigint start with 1; + +create table migtest_oto_child ( + id integer not null, + name nvarchar(255), + constraint pk_migtest_oto_child primary key (id) +); +create sequence migtest_oto_child_seq as bigint start with 1; + +create table migtest_oto_master ( + id numeric(19) not null, + name nvarchar(255), + constraint pk_migtest_oto_master primary key (id) +); +create sequence migtest_oto_master_seq as bigint start with 1; + +create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1); +create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5); +create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (one_id); +alter table migtest_fk_cascade add constraint fk_migtest_fk_cascade_one_id foreign key (one_id) references migtest_fk_cascade_one (id) on delete cascade; + +create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id); +alter table migtest_fk_set_null add constraint fk_migtest_fk_set_null_one_id foreign key (one_id) references migtest_fk_one (id) 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); + +alter table migtest_e_history2 + add sys_periodFrom datetime2 GENERATED ALWAYS AS ROW START NOT NULL DEFAULT SYSUTCDATETIME(), + sys_periodTo datetime2 GENERATED ALWAYS AS ROW END NOT NULL DEFAULT '9999-12-31T23:59:59.9999999', +period for system_time (sys_periodFrom, sys_periodTo); +alter table migtest_e_history2 set (system_versioning = on (history_table=dbo.migtest_e_history2_history)); +alter table migtest_e_history3 + add sys_periodFrom datetime2 GENERATED ALWAYS AS ROW START NOT NULL DEFAULT SYSUTCDATETIME(), + sys_periodTo datetime2 GENERATED ALWAYS AS ROW END NOT NULL DEFAULT '9999-12-31T23:59:59.9999999', +period for system_time (sys_periodFrom, sys_periodTo); +alter table migtest_e_history3 set (system_versioning = on (history_table=dbo.migtest_e_history3_history)); +alter table migtest_e_history4 + add sys_periodFrom datetime2 GENERATED ALWAYS AS ROW START NOT NULL DEFAULT SYSUTCDATETIME(), + sys_periodTo datetime2 GENERATED ALWAYS AS ROW END NOT NULL DEFAULT '9999-12-31T23:59:59.9999999', +period for system_time (sys_periodFrom, sys_periodTo); +alter table migtest_e_history4 set (system_versioning = on (history_table=dbo.migtest_e_history4_history)); +alter table migtest_e_history5 + add sys_periodFrom datetime2 GENERATED ALWAYS AS ROW START NOT NULL DEFAULT SYSUTCDATETIME(), + sys_periodTo datetime2 GENERATED ALWAYS AS ROW END NOT NULL DEFAULT '9999-12-31T23:59:59.9999999', +period for system_time (sys_periodFrom, sys_periodTo); +alter table migtest_e_history5 set (system_versioning = on (history_table=dbo.migtest_e_history5_history)); +alter table migtest_e_history6 + add sys_periodFrom datetime2 GENERATED ALWAYS AS ROW START NOT NULL DEFAULT SYSUTCDATETIME(), + sys_periodTo datetime2 GENERATED ALWAYS AS ROW END NOT NULL DEFAULT '9999-12-31T23:59:59.9999999', +period for system_time (sys_periodFrom, sys_periodTo); +alter table migtest_e_history6 set (system_versioning = on (history_table=dbo.migtest_e_history6_history));