From d7848ea808f52fa5599148eb1325e0e5d8e8c281 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Thu, 5 Jul 2012 12:08:23 +0200 Subject: [PATCH] OO-291: add support for postgresql --- .../database/mysql/setupDatabase.sql | 2 ++ .../postgresql/alter_8_1_x_to_8_2_0.sql | 33 +++++++++++++++++++ .../database/postgresql/setupDatabase.sql | 26 +++++++++++++-- 3 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/database/postgresql/alter_8_1_x_to_8_2_0.sql diff --git a/src/main/resources/database/mysql/setupDatabase.sql b/src/main/resources/database/mysql/setupDatabase.sql index 8f5361f66a4..3c85bc2a1cc 100644 --- a/src/main/resources/database/mysql/setupDatabase.sql +++ b/src/main/resources/database/mysql/setupDatabase.sql @@ -1148,6 +1148,8 @@ create index gp_type_idx on o_gp_business (businessgrouptype); alter table o_gp_business add index FKCEEB8A86DF6BCD14 (groupcontext_fk), add constraint FKCEEB8A86DF6BCD14 foreign key (groupcontext_fk) references o_gp_bgcontext (groupcontext_id); alter table o_gp_business add index FKCEEB8A86A1FAC766 (fk_ownergroup), add constraint FKCEEB8A86A1FAC766 foreign key (fk_ownergroup) references o_bs_secgroup (id); alter table o_gp_business add index FKCEEB8A86C06E3EF3 (fk_partipiciantgroup), add constraint FKCEEB8A86C06E3EF3 foreign key (fk_partipiciantgroup) references o_bs_secgroup (id); +alter table o_gp_business add constraint idx_bgp_rsrc foreign key (fk_resource) references o_olatresource (resource_id); +alter table o_gp_business add constraint idx_bgp_waiting foreign key (fk_waitinggroup) references o_bs_secgroup (id); alter table o_gp_business_to_resource add constraint idx_bgp_to_rsrc_rsrc foreign key (fk_resource) references o_olatresource (resource_id); alter table o_gp_business_to_resource add constraint idx_bgp_to_rsrc_group foreign key (fk_group) references o_gp_business (group_id); create index provider_idx on o_bs_authentication (provider); diff --git a/src/main/resources/database/postgresql/alter_8_1_x_to_8_2_0.sql b/src/main/resources/database/postgresql/alter_8_1_x_to_8_2_0.sql new file mode 100644 index 00000000000..0f5098de509 --- /dev/null +++ b/src/main/resources/database/postgresql/alter_8_1_x_to_8_2_0.sql @@ -0,0 +1,33 @@ +-- relation groups to resources +create table o_gp_business_to_resource ( + g_id bigint not null, + version int4 not null, + creationdate timestamp, + fk_resource int8 not null, + fk_group int8 not null, + primary key (g_id) +); +alter table o_gp_business_to_resource add constraint idx_bgp_to_rsrc_rsrc foreign key (fk_resource) references o_olatresource (resource_id); +alter table o_gp_business_to_resource add constraint idx_bgp_to_rsrc_group foreign key (fk_group) references o_gp_business (group_id); + +-- groups +alter table o_gp_business add column fk_resource int8 unique default null; +alter table o_gp_business add constraint idx_bgp_rsrc foreign key (fk_resource) references o_olatresource (resource_id); +alter table o_gp_business add constraint idx_bgp_waiting foreign key (fk_waitinggroup) references o_bs_secgroup (id); + + +-- area +alter table o_gp_bgarea alter column groupcontext_fk drop not null; +alter table o_gp_bgarea add column fk_resource int8 default null; +alter table o_gp_bgarea add constraint idx_area_to_resource foreign key (fk_resource) references o_olatresource (resource_id); + +-- view +create or replace view o_gp_business_to_repository_v as ( + select + grp.group_id as grp_id, + repoentry.repositoryentry_id as re_id, + repoentry.displayname as re_displayname + from o_gp_business as grp + inner join o_gp_business_to_resource as relation on (relation.fk_group = grp.group_id) + inner join o_repositoryentry as repoentry on (repoentry.fk_olatresource = relation.fk_resource) +); \ No newline at end of file diff --git a/src/main/resources/database/postgresql/setupDatabase.sql b/src/main/resources/database/postgresql/setupDatabase.sql index 82736308f1e..38c360d62f0 100644 --- a/src/main/resources/database/postgresql/setupDatabase.sql +++ b/src/main/resources/database/postgresql/setupDatabase.sql @@ -41,11 +41,20 @@ create table o_gp_business ( waitinglist_enabled bool, autocloseranks_enabled bool, groupcontext_fk int8, + fk_resource int8 unique, fk_ownergroup int8 unique, fk_partipiciantgroup int8 unique, fk_waitinggroup int8 unique, primary key (group_id) ); +create table o_gp_business_to_resource ( + g_id bigint not null, + version int4 not null, + creationdate timestamp, + fk_resource int8 not null, + fk_group int8 not null, + primary key (g_id) +); create table o_temporarykey ( reglist_id int8 not null, version int4 not null, @@ -275,7 +284,8 @@ create table o_gp_bgarea ( creationdate timestamp, name varchar(255) not null, descr text, - groupcontext_fk int8 not null, + groupcontext_fk int8, + fk_resource int8 default null, primary key (area_id) ); create table o_repositoryentry ( @@ -1045,7 +1055,15 @@ create or replace view o_ep_notifications_comment_v as ( left join o_ep_struct_el as page on (page.fk_struct_root_map_id = map.structure_id and page.structure_id = cast(ucomment.ressubpath as integer)) ); - +create or replace view o_gp_business_to_repository_v as ( + select + grp.group_id as grp_id, + repoentry.repositoryentry_id as re_id, + repoentry.displayname as re_displayname + from o_gp_business as grp + inner join o_gp_business_to_resource as relation on (relation.fk_group = grp.group_id) + inner join o_repositoryentry as repoentry on (repoentry.fk_olatresource = relation.fk_resource) +); create index userrating_id_idx on o_userrating (resid); create index userrating_name_idx on o_userrating (resname); @@ -1077,6 +1095,10 @@ create index gp_type_idx on o_gp_business (businessgrouptype); alter table o_gp_business add constraint FKCEEB8A86DF6BCD14 foreign key (groupcontext_fk) references o_gp_bgcontext; alter table o_gp_business add constraint FKCEEB8A86A1FAC766 foreign key (fk_ownergroup) references o_bs_secgroup; alter table o_gp_business add constraint FKCEEB8A86C06E3EF3 foreign key (fk_partipiciantgroup) references o_bs_secgroup; +alter table o_gp_business add constraint idx_bgp_rsrc foreign key (fk_resource) references o_olatresource (resource_id); +alter table o_gp_business add constraint idx_bgp_waiting foreign key (fk_waitinggroup) references o_bs_secgroup (id); +alter table o_gp_business_to_resource add constraint idx_bgp_to_rsrc_rsrc foreign key (fk_resource) references o_olatresource (resource_id); +alter table o_gp_business_to_resource add constraint idx_bgp_to_rsrc_group foreign key (fk_group) references o_gp_business (group_id); create index provider_idx on o_bs_authentication (provider); create index credential_idx on o_bs_authentication (credential); create index authusername_idx on o_bs_authentication (authusername); -- GitLab