diff --git a/libs/dnet-exporter-model/src/main/resources/community-schema.sql b/libs/dnet-exporter-model/src/main/resources/community-schema.sql new file mode 100644 index 00000000..a4860108 --- /dev/null +++ b/libs/dnet-exporter-model/src/main/resources/community-schema.sql @@ -0,0 +1,48 @@ +CREATE TABLE communities ( + id text PRIMARY KEY, + label text NOT NULL, + description text NOT NULL DEFFAULT '', + status text NOT NULL DEFAULT 'hidden', -- all, manager, hidden + type text NOT NULL, -- community, ri + subjects text[], + fos text[], + sdg text[], + adv_constraints json, + remove_constraints json, + main_zenodo_community text, + other_zenodo_communities text[], + creation_date timestamp NOT NULL DEFAULT now(), + logo_url text +); + +CREATE TABLE community_projects ( + community text NOT NULL REFERENCES communities(id), + project_id text NOT NULL, + project_code text NOT NULL, + project_name text NOT NULL, + project_acronym text, + project_funder text NOT NULL, + PRIMARY KEY (community, project_id) +); + +CREATE TABLE community_datasources ( + community text NOT NULL REFERENCES communities(id), + ds_id text NOT NULL, + ds_name text NOT NULL, + constraints json, + PRIMARY KEY (community, ds_id) +); + +CREATE TABLE community_support_orgs ( + community text REFERENCES communities(id), + org_name text NOT NULL, + org_url text NOT NULL, + org_logourl text NOT NULL, + PRIMARY KEY (community, org_name) +); + +CREATE TABLE community_orgs ( + community text REFERENCES communities(id), + org_id text NOT NULL, + PRIMARY KEY (community, org_id) +);