DbMigration supports altering UniqueConstraints and foreign keys (#1279)

* NEW: Ebean reads version from pop.properties and prints it at start up

* DDL generation and migration can append a header and platformMigration is prepared to append epilog & prolog to scripts

* FIX: Set identity only, if it is not the platform default type

* Updated reference scripts

* ADD basic support for foreign key migration

* DbMigration detects alter foreign keys

* tests
This commit is contained in:
Roland Praml
2018-02-26 14:24:52 +13:00
committed by Rob Bygrave
parent a64a244745
commit da7bb834e7
70 changed files with 1806 additions and 80 deletions
@@ -1,5 +1,39 @@
-- Migrationscripts for ebean unittest
-- apply changes
create table migtest_fk_cascade (
id numeric(19) identity(1,1) not null,
one_id numeric(19),
constraint pk_migtest_fk_cascade primary key (id)
);
create table migtest_fk_cascade_one (
id numeric(19) identity(1,1) not null,
constraint pk_migtest_fk_cascade_one primary key (id)
);
create table migtest_fk_none (
id numeric(19) identity(1,1) not null,
one_id numeric(19),
constraint pk_migtest_fk_none primary key (id)
);
create table migtest_fk_none_via_join (
id numeric(19) identity(1,1) not null,
one_id numeric(19),
constraint pk_migtest_fk_none_via_join primary key (id)
);
create table migtest_fk_one (
id numeric(19) identity(1,1) not null,
constraint pk_migtest_fk_one primary key (id)
);
create table migtest_fk_set_null (
id numeric(19) identity(1,1) not null,
one_id numeric(19),
constraint pk_migtest_fk_set_null primary key (id)
);
create table migtest_e_basic (
id integer identity(1,1) not null,
status varchar(1),
@@ -47,6 +81,12 @@ create table migtest_e_softdelete (
create index ix_migtest_e_basic_indextest1 on migtest_e_basic (indextest1);
create index ix_migtest_e_basic_indextest5 on migtest_e_basic (indextest5);
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 cascade;
create index ix_migtest_fk_cascade_one_id on migtest_fk_cascade (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 set null;
create index ix_migtest_fk_set_null_one_id on migtest_fk_set_null (one_id);
alter table migtest_e_basic add constraint fk_migtest_e_basic_eref_id foreign key (eref_id) references migtest_e_ref (id);
create index ix_migtest_e_basic_eref_id on migtest_e_basic (eref_id);