Merge pull request #2570 from FOCONIS/ddl-oracle-fixes

[DDL-Oracle] Fix drop default and ignore erros when trying to drop non existent objects
This commit is contained in:
Rob Bygrave authored and GitHub committed 2022-02-28 11:19:43 +13:00
commit ae41471c74
14 files changed
+362 -49

No files matched your search

@@ -149,7 +149,7 @@ datasource.yugabyte.username=unit
datasource.yugabyte.password=test
datasource.yugabyte.url=jdbc:postgresql://localhost:6433/unit?sslmode=disable
datasource.oracle.username=test_ebean
datasource.oracle.username=test_eb
datasource.oracle.password=test
datasource.oracle.url=jdbc:oracle:thin:@localhost:1521:XE
#datasource.oracle.driver=oracle.jdbc.driver.OracleDriver
@@ -36,13 +36,31 @@ alter table migtest_fk_set_null drop constraint fk_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);
update migtest_e_basic set status = 'A' where status is null;
alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status';
exception
when expected_error then null;
end;
$$;
alter table migtest_e_basic modify status default 'A';
alter table migtest_e_basic modify status not null;
alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2';
exception
when expected_error then null;
end;
$$;
alter table migtest_e_basic modify status2 varchar2(127);
alter table migtest_e_basic modify status2 drop default;
alter table migtest_e_basic modify status2 default null;
alter table migtest_e_basic modify status2 null;
-- rename all collisions;
@@ -60,13 +78,40 @@ alter table migtest_e_basic add progress number(10) default 0 not null;
alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
alter table migtest_e_basic add new_integer number(10) default 42 not null;
alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2';
exception
when expected_error then null;
end;
$$;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6';
exception
when expected_error then null;
end;
$$;
-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_mgtst__bsc_stts_ndxtst1 unique (status,indextest1);
-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status';
exception
when expected_error then null;
end;
$$;
comment on column migtest_e_history.test_string is 'Column altered to long now';
alter table migtest_e_history modify test_string number(19);
comment on table migtest_e_history is 'We have history now';
@@ -13,4 +13,13 @@ alter table migtest_e_history2 drop column obsolete_string1;
alter table migtest_e_history2 drop column obsolete_string2;
drop table migtest_e_ref cascade constraints purge;
drop sequence migtest_e_ref_seq;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2289);
begin
execute immediate 'drop sequence migtest_e_ref_seq';
exception
when expected_error then null;
end;
$$;
@@ -14,18 +14,45 @@ alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
alter table migtest_fk_none_via_join drop constraint fk_mgtst_fk_nn_v_jn_n_d;
alter table migtest_fk_set_null drop constraint fk_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;
alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
alter table migtest_e_basic modify status drop default;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status';
exception
when expected_error then null;
end;
$$;
alter table migtest_e_basic modify status default null;
alter table migtest_e_basic modify status null;
alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2';
exception
when expected_error then null;
end;
$$;
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 add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_description';
exception
when expected_error then null;
end;
$$;
update migtest_e_basic set user_id = 23 where user_id is null;
alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
@@ -36,23 +63,68 @@ alter table migtest_e_basic add old_boolean number(1) default 0 not null;
alter table migtest_e_basic add old_boolean2 number(1);
alter table migtest_e_basic add eref_id number(10);
alter table migtest_e_basic drop constraint uq_mgtst__bsc_stts_ndxtst1;
alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_mgtst__bsc_stts_ndxtst1';
exception
when expected_error then null;
end;
$$;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_name';
exception
when expected_error then null;
end;
$$;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4';
exception
when expected_error then null;
end;
$$;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5';
exception
when expected_error then null;
end;
$$;
-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status';
exception
when expected_error then null;
end;
$$;
alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
comment on column migtest_e_history.test_string is '';
comment on table migtest_e_history is '';
alter table migtest_e_history2 modify test_string drop default;
alter table migtest_e_history2 modify test_string default null;
alter table migtest_e_history2 modify test_string null;
alter table migtest_e_history2 add obsolete_string1 varchar2(255);
alter table migtest_e_history2 add obsolete_string2 varchar2(255);
alter table migtest_e_history4 modify test_number number(10);
alter table migtest_e_history6 modify test_number1 drop default;
alter table migtest_e_history6 modify test_number1 default null;
alter table migtest_e_history6 modify test_number1 null;
-- NOTE: table has @History - special migration may be necessary
@@ -29,7 +29,16 @@ alter table migtest_e_softdelete drop column deleted;
alter table migtest_oto_child drop column master_id;
drop table migtest_e_user cascade constraints purge;
drop sequence migtest_e_user_seq;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2289);
begin
execute immediate 'drop sequence migtest_e_user_seq';
exception
when expected_error then null;
end;
$$;
drop table migtest_mtm_c_migtest_mtm_m cascade constraints purge;
drop table migtest_mtm_m_migtest_mtm_c cascade constraints purge;
drop table migtest_mtm_m_phone_numbers cascade constraints purge;
@@ -1,8 +1,8 @@
1732845114, 1.0__initial.sql
-411370666, 1.1.sql
-1698942539, 1.2__dropsFor_1.1.sql
1355736100, 1.3.sql
-629809805, 1.4__dropsFor_1.3.sql
-769875282, 1.1.sql
1140013965, 1.2__dropsFor_1.1.sql
-1374341416, 1.3.sql
1340223598, 1.4__dropsFor_1.3.sql
1357801733, R__oracle_only_views.sql
561281075, R__order_views.sql
@@ -37,13 +37,31 @@ alter table migtest_fk_set_null drop constraint fk_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);
update migtest_e_basic set status = 'A' where status is null;
alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status';
exception
when expected_error then null;
end;
$$;
alter table migtest_e_basic modify status default 'A';
alter table migtest_e_basic modify status not null;
alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I','?'));
alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2';
exception
when expected_error then null;
end;
$$;
alter table migtest_e_basic modify status2 varchar2(127);
alter table migtest_e_basic modify status2 drop default;
alter table migtest_e_basic modify status2 default null;
alter table migtest_e_basic modify status2 null;
-- rename all collisions;
@@ -61,13 +79,40 @@ alter table migtest_e_basic add progress number(10) default 0 not null;
alter table migtest_e_basic add constraint ck_migtest_e_basic_progress check ( progress in (0,1,2));
alter table migtest_e_basic add new_integer number(10) default 42 not null;
alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2;
alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest2';
exception
when expected_error then null;
end;
$$;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest6';
exception
when expected_error then null;
end;
$$;
-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_mgtst__bsc_stts_ndxtst1 unique (status,indextest1);
-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_name unique (name);
-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest4 unique (indextest4);
-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest5 unique (indextest5);
alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status';
exception
when expected_error then null;
end;
$$;
comment on column migtest_e_history.test_string is 'Column altered to long now';
alter table migtest_e_history modify test_string number(19);
comment on table migtest_e_history is 'We have history now';
@@ -13,4 +13,13 @@ alter table migtest_e_history2 drop column obsolete_string1;
alter table migtest_e_history2 drop column obsolete_string2;
drop table migtest_e_ref cascade constraints purge;
drop sequence migtest_e_ref_seq;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2289);
begin
execute immediate 'drop sequence migtest_e_ref_seq';
exception
when expected_error then null;
end;
$$;
@@ -15,18 +15,45 @@ alter table migtest_fk_none drop constraint fk_migtest_fk_none_one_id;
alter table migtest_fk_none_via_join drop constraint fk_mgtst_fk_nn_v_jn_n_d;
alter table migtest_fk_set_null drop constraint fk_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;
alter table migtest_e_basic drop constraint ck_migtest_e_basic_status;
alter table migtest_e_basic modify status drop default;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status';
exception
when expected_error then null;
end;
$$;
alter table migtest_e_basic modify status default null;
alter table migtest_e_basic modify status null;
alter table migtest_e_basic add constraint ck_migtest_e_basic_status check ( status in ('N','A','I'));
update migtest_e_basic set status2 = 'N' where status2 is null;
alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint ck_migtest_e_basic_status2';
exception
when expected_error then null;
end;
$$;
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 add constraint ck_migtest_e_basic_status2 check ( status2 in ('N','A','I'));
alter table migtest_e_basic drop constraint uq_migtest_e_basic_description;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_description';
exception
when expected_error then null;
end;
$$;
update migtest_e_basic set user_id = 23 where user_id is null;
alter table migtest_e_basic drop constraint fk_migtest_e_basic_user_id;
@@ -37,23 +64,68 @@ alter table migtest_e_basic add old_boolean number(1) default 0 not null;
alter table migtest_e_basic add old_boolean2 number(1);
alter table migtest_e_basic add eref_id number(10);
alter table migtest_e_basic drop constraint uq_mgtst__bsc_stts_ndxtst1;
alter table migtest_e_basic drop constraint uq_migtest_e_basic_name;
alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4;
alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_mgtst__bsc_stts_ndxtst1';
exception
when expected_error then null;
end;
$$;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_name';
exception
when expected_error then null;
end;
$$;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest4';
exception
when expected_error then null;
end;
$$;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_basic drop constraint uq_migtest_e_basic_indextest5';
exception
when expected_error then null;
end;
$$;
-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest2 unique (indextest2);
-- NOT YET IMPLEMENTED: alter table migtest_e_basic add constraint uq_migtest_e_basic_indextest6 unique (indextest6);
alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2443);
begin
execute immediate 'alter table migtest_e_enum drop constraint ck_migtest_e_enum_test_status';
exception
when expected_error then null;
end;
$$;
alter table migtest_e_enum add constraint ck_migtest_e_enum_test_status check ( test_status in ('N','A','I'));
comment on column migtest_e_history.test_string is '';
comment on table migtest_e_history is '';
alter table migtest_e_history2 modify test_string drop default;
alter table migtest_e_history2 modify test_string default null;
alter table migtest_e_history2 modify test_string null;
alter table migtest_e_history2 add obsolete_string1 varchar2(255);
alter table migtest_e_history2 add obsolete_string2 varchar2(255);
alter table migtest_e_history4 modify test_number number(10);
alter table migtest_e_history6 modify test_number1 drop default;
alter table migtest_e_history6 modify test_number1 default null;
alter table migtest_e_history6 modify test_number1 null;
-- NOTE: table has @History - special migration may be necessary
@@ -29,7 +29,16 @@ alter table migtest_e_softdelete drop column deleted;
alter table migtest_oto_child drop column master_id;
drop table migtest_e_user cascade constraints purge;
drop sequence migtest_e_user_seq;
delimiter $$
declare
expected_error exception;
pragma exception_init(expected_error, -2289);
begin
execute immediate 'drop sequence migtest_e_user_seq';
exception
when expected_error then null;
end;
$$;
drop table migtest_mtm_c_migtest_mtm_m cascade constraints purge;
drop table migtest_mtm_m_migtest_mtm_c cascade constraints purge;
drop table migtest_mtm_m_phone_numbers cascade constraints purge;
@@ -1,8 +1,8 @@
-756544611, 1.0__initial.sql
1927010726, 1.1.sql
-1698942539, 1.2__dropsFor_1.1.sql
1883580424, 1.3.sql
-629809805, 1.4__dropsFor_1.3.sql
-1128902470, 1.1.sql
1140013965, 1.2__dropsFor_1.1.sql
-1534972229, 1.3.sql
1340223598, 1.4__dropsFor_1.3.sql
1357801733, R__oracle_only_views.sql
561281075, R__order_views.sql