Feature/ddl migration (#1111)

* REFACTOR: use functions from ddl-help

* NEW: Default values are written to DDL

* fix testcase for sqlserver as default constraints will get names in future

* Reading DbMigration

* ADD: DbmIgrationGenerateTest

* Tables must be created first

* Sanity checks and some getters

* DdlMigration gets applied now

* ADD: Testcase and reference migration scripts

* no effective code changes: add comments
This commit is contained in:
Roland Praml
2017-09-08 21:47:33 +12:00
committed by Rob Bygrave
parent 73b3d1d977
commit dd8fff0277
90 changed files with 2767 additions and 70 deletions
@@ -0,0 +1,39 @@
-- apply changes
create table migtest_e_basic (
id integer identity(1,1) not null,
status varchar(1),
name varchar(255),
description varchar(255),
some_date datetime2,
old_boolean bit default 0 not null,
old_boolean2 bit default 0,
eref_id integer,
indextest1 varchar(255),
indextest2 varchar(255),
indextest3 varchar(255),
indextest4 varchar(255),
indextest5 varchar(255),
indextest6 varchar(255),
user_id integer not null,
constraint ck_migtest_e_basic_status check ( status 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 table migtest_e_history (
id integer identity(1,1) not null,
test_string varchar(255),
constraint pk_migtest_e_history primary key (id)
);
create table migtest_e_ref (
id integer identity(1,1) not null,
constraint pk_migtest_e_ref 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);
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);