Project

General

Profile

1

    
2
CREATE TABLE dsm_api (
3
    id character varying(255) NOT NULL,
4
    protocol character varying(255),
5
    datasource character varying(255),
6
    contentdescription character varying(255) DEFAULT 'metadata'::character varying,
7
    active boolean DEFAULT false,
8
    removable boolean DEFAULT false,
9
    typology character varying(255) DEFAULT 'UNKNOWN'::character varying,
10
    compatibility character varying(255) DEFAULT 'UNKNOWN'::character varying,
11
    metadata_identifier_path character varying(512) DEFAULT NULL::character varying,
12
    last_collection_total integer,
13
    last_collection_date timestamp without time zone,
14
    last_collection_mdid character varying(255) DEFAULT NULL::character varying,
15
    last_aggregation_total integer,
16
    last_aggregation_date timestamp without time zone,
17
    last_aggregation_mdid character varying(255) DEFAULT NULL::character varying,
18
    last_download_total integer,
19
    last_download_date timestamp without time zone,
20
    last_download_objid character varying(255) DEFAULT NULL::character varying,
21
    last_validation_job character varying(255) DEFAULT NULL::character varying,
22
    baseurl text,
23
    _dnet_resource_identifier_ character varying(2048) DEFAULT ((('temp_'::text || md5((clock_timestamp())::text)) || '_'::text) || md5((random())::text)),
24
    compatibility_override character varying(255) DEFAULT NULL::character varying
25
);
26

    
27

    
28
ALTER TABLE public.dsm_api OWNER TO dnetapi;
29

    
30

    
31
CREATE TABLE dsm_datasource_organization (
32
    datasource character varying(255) NOT NULL,
33
    organization character varying(255) NOT NULL,
34
    _dnet_resource_identifier_ character varying(2048) DEFAULT ((('temp_'::text || md5((clock_timestamp())::text)) || '_'::text) || md5((random())::text))
35
);
36

    
37

    
38
ALTER TABLE public.dsm_datasource_organization OWNER TO dnetapi;
39

    
40
--
41
-- Name: dsm_datasources; Type: TABLE; Schema: public; Owner: dnetapi; Tablespace:
42
--
43

    
44
CREATE TABLE dsm_datasources (
45
    id character varying(255) NOT NULL,
46
    officialname character varying(512) NOT NULL,
47
    englishname character varying(512),
48
    websiteurl character varying(255),
49
    logourl character varying(255),
50
    contactemail character varying(255),
51
    latitude double precision DEFAULT 0.0,
52
    longitude double precision DEFAULT 0.0,
53
    timezone character varying(10) DEFAULT '0.0'::character varying,
54
    namespaceprefix character(12) NOT NULL,
55
    languages text,
56
    od_contenttypes text,
57
    collectedfrom character varying(255),
58
    dateofvalidation date,
59
    optional1 character varying(255),
60
    optional2 character varying(255),
61
    typology character varying(255) NOT NULL,
62
    provenanceaction character varying(255) DEFAULT 'UNKNOWN'::character varying,
63
    dateofcollection date DEFAULT ('now'::text)::date NOT NULL,
64
    platform character varying(255),
65
    activationid character varying(255),
66
    description text,
67
    releasestartdate date,
68
    releaseenddate date,
69
    missionstatementurl character varying(512),
70
    dataprovider boolean,
71
    serviceprovider boolean,
72
    databaseaccesstype character varying(64),
73
    datauploadtype character varying(64),
74
    databaseaccessrestriction character varying(64),
75
    datauploadrestriction character varying(64),
76
    versioning boolean,
77
    citationguidelineurl character varying(512),
78
    qualitymanagementkind character varying(64),
79
    pidsystems text,
80
    certificates text,
81
    aggregator character varying(64) DEFAULT 'OPENAIRE'::character varying NOT NULL,
82
    issn character varying(20),
83
    eissn character varying(20),
84
    lissn character varying(20),
85
    registeredby character varying(255),
86
    subjects text,
87
    managed boolean DEFAULT false,
88
    registrationdate date,
89
    _dnet_resource_identifier_ character varying(2048) DEFAULT ((('temp_'::text || md5((clock_timestamp())::text)) || '_'::text) || md5((random())::text))
90
);
91

    
92

    
93
ALTER TABLE public.dsm_datasources OWNER TO dnetapi;
94

    
95
--
96
-- Name: dsm_organizations; Type: TABLE; Schema: public; Owner: dnetapi; Tablespace:
97
--
98

    
99
CREATE TABLE dsm_organizations (
100
    id character varying(255) NOT NULL,
101
    legalshortname character varying(255),
102
    legalname character varying(255),
103
    websiteurl text,
104
    logourl character varying(255),
105
    ec_legalbody boolean DEFAULT false,
106
    ec_legalperson boolean DEFAULT false,
107
    ec_nonprofit boolean DEFAULT false,
108
    ec_researchorganization boolean DEFAULT false,
109
    ec_highereducation boolean DEFAULT false,
110
    ec_internationalorganizationeurinterests boolean DEFAULT false,
111
    ec_internationalorganization boolean DEFAULT false,
112
    ec_enterprise boolean DEFAULT false,
113
    ec_smevalidated boolean DEFAULT false,
114
    ec_nutscode boolean DEFAULT false,
115
    country character varying(255),
116
    collectedfrom character varying(255),
117
    optional1 character varying(255),
118
    optional2 character varying(255),
119
    dateofcollection date DEFAULT ('now'::text)::date NOT NULL,
120
    provenanceaction character varying(255) DEFAULT 'UNKNOWN'::character varying,
121
    _dnet_resource_identifier_ character varying(2048) DEFAULT ((('temp_'::text || md5((clock_timestamp())::text)) || '_'::text) || md5((random())::text)),
122
    lastupdate date DEFAULT ('now'::text)::date NOT NULL,
123
    trust double precision DEFAULT 0.9
124
);
125

    
126

    
127
ALTER TABLE public.dsm_organizations OWNER TO dnetapi;
128

    
129
--
130
-- Name: browse_countries; Type: VIEW; Schema: public; Owner: dnet
131
--
132

    
133
CREATE VIEW browse_countries AS
134
 SELECT o.country AS term,
135
    count(*) AS total
136
   FROM (((dsm_api a
137
     LEFT JOIN dsm_datasources d ON (((a.datasource)::text = (d.id)::text)))
138
     LEFT JOIN dsm_datasource_organization dao ON (((d.id)::text = (dao.datasource)::text)))
139
     LEFT JOIN dsm_organizations o ON (((dao.organization)::text = (o.id)::text)))
140
  GROUP BY o.country
141
  ORDER BY count(*) DESC;
142

    
143

    
144
ALTER TABLE public.browse_countries OWNER TO dnet;
145

    
146

    
147

    
148
CREATE TABLE dsm_apiparams (
149
    param character varying(255) NOT NULL,
150
    value text DEFAULT ''::character varying NOT NULL,
151
    api character varying(255) NOT NULL,
152
    _dnet_resource_identifier_ character varying(2048) DEFAULT ((('temp_'::text || md5((clock_timestamp())::text)) || '_'::text) || md5((random())::text))
153
);
154

    
155

    
156
ALTER TABLE public.dsm_apiparams OWNER TO dnetapi;
157

    
158
--
159
-- Name: dsm_datasource_api; Type: VIEW; Schema: public; Owner: dnet
160
--
161

    
162
CREATE OR REPLACE VIEW dsm_datasource_api AS
163
    SELECT
164
    row_number() OVER (ORDER BY a.id) AS rowid,
165
    d.id,
166
    d.officialname,
167
    d.englishname,
168
    d.websiteurl,
169
    d.contactemail,
170
    d.collectedfrom,
171
    d.typology,
172
    d.platform,
173
    d.registeredby,
174
    d.managed,
175
    a.protocol,
176
    a.contentdescription,
177
    a.active,
178
    a.removable,
179
    a.typology AS apitypology,
180
    a.compatibility,
181
    a.baseurl
182
    FROM (dsm_datasources d
183
        LEFT JOIN dsm_api a ON (((d.id)::text = (a.datasource)::text)));
184

    
185
--
186
-- Name: dsm_datasourcepids; Type: TABLE; Schema: public; Owner: dnetapi; Tablespace:
187
--
188

    
189
CREATE TABLE dsm_datasourcepids (
190
    datasource character varying(255) NOT NULL,
191
    pid character varying(255) NOT NULL,
192
    _dnet_resource_identifier_ character varying(2048) DEFAULT ((('temp_'::text || md5((clock_timestamp())::text)) || '_'::text) || md5((random())::text))
193
);
194

    
195

    
196
ALTER TABLE public.dsm_datasourcepids OWNER TO dnetapi;
197

    
198
--
199
-- Name: dsm_identities; Type: TABLE; Schema: public; Owner: dnetapi; Tablespace:
200
--
201

    
202
CREATE TABLE dsm_identities (
203
    pid character varying(255) NOT NULL,
204
    issuertype character varying(255),
205
    _dnet_resource_identifier_ character varying(2048) DEFAULT ((('temp_'::text || md5((clock_timestamp())::text)) || '_'::text) || md5((random())::text))
206
);
207

    
208

    
209
ALTER TABLE public.dsm_identities OWNER TO dnetapi;
210

    
211
--
212
-- Name: dsm_organizationpids; Type: TABLE; Schema: public; Owner: dnetapi; Tablespace:
213
--
214

    
215
CREATE TABLE dsm_organizationpids (
216
    organization character varying(255) NOT NULL,
217
    pid character varying(255) NOT NULL,
218
    _dnet_resource_identifier_ character varying(2048) DEFAULT ((('temp_'::text || md5((clock_timestamp())::text)) || '_'::text) || md5((random())::text))
219
);
220

    
221

    
222
ALTER TABLE public.dsm_organizationpids OWNER TO dnetapi;
223

    
224
--
225
-- Name: funder_identity; Type: TABLE; Schema: public; Owner: dnet; Tablespace:
226
--
227

    
228
CREATE TABLE funder_identity (
229
    funder character varying(255),
230
    pid character varying(255)
231
);
232

    
233

    
234
ALTER TABLE public.funder_identity OWNER TO dnet;
235

    
236
--
237
-- Name: funders; Type: TABLE; Schema: public; Owner: dnet; Tablespace:
238
--
239

    
240
CREATE TABLE funders (
241
    id character varying(255) NOT NULL,
242
    name character varying(255),
243
    shortname character varying(255),
244
    jurisdiction character varying(255),
245
    websiteurl text,
246
    policy character varying(255),
247
    registrationdate date DEFAULT ('now'::text)::date NOT NULL,
248
    lastupdatedate date
249
);
250

    
251

    
252
ALTER TABLE public.funders OWNER TO dnet;
253

    
254
--
255
-- Name: fundingpaths; Type: TABLE; Schema: public; Owner: dnet; Tablespace:
256
--
257

    
258

    
259

    
260

    
261

    
262

    
263

    
264

    
265

    
266

    
267

    
268

    
269

    
270

    
271
--
272
-- Name: project_organization; Type: TABLE; Schema: public; Owner: dnet; Tablespace:
273
--
274

    
275
--CREATE TABLE project_organization (
276
--    participantnumber integer,
277
--    project character varying(255) NOT NULL,
278
--    resporganization character varying(255) NOT NULL,
279
--    semanticclass character varying(255) DEFAULT 'UNKNOWN'::character varying,
280
--    trust double precision DEFAULT 0.9,
281
--    _dnet_resource_identifier_ character varying(2048) DEFAULT ((('temp_'::text || md5((clock_timestamp())::text)) || '_'::text) || md5((random())::text))
282
--);
283

    
284

    
285
--ALTER TABLE public.project_organization OWNER TO dnet;
286

    
287

    
288

    
289

    
290
--
291
-- Name: dsm_api_pkey; Type: CONSTRAINT; Schema: public; Owner: dnetapi; Tablespace:
292
--
293

    
294
ALTER TABLE ONLY dsm_api
295
    ADD CONSTRAINT dsm_api_pkey PRIMARY KEY (id);
296

    
297

    
298
--
299
-- Name: dsm_apicollection_pkey; Type: CONSTRAINT; Schema: public; Owner: dnetapi; Tablespace:
300
--
301

    
302
ALTER TABLE ONLY dsm_apiparams
303
    ADD CONSTRAINT dsm_apicollection_pkey PRIMARY KEY (api, param);
304

    
305

    
306
--
307
-- Name: dsm_datasourcepids_pkey; Type: CONSTRAINT; Schema: public; Owner: dnetapi; Tablespace:
308
--
309

    
310
ALTER TABLE ONLY dsm_datasourcepids
311
    ADD CONSTRAINT dsm_datasourcepids_pkey PRIMARY KEY (datasource, pid);
312

    
313

    
314
--
315
-- Name: dsm_datasources_namespaceprefix_key; Type: CONSTRAINT; Schema: public; Owner: dnetapi; Tablespace:
316
--
317

    
318
ALTER TABLE ONLY dsm_datasources
319
    ADD CONSTRAINT dsm_datasources_namespaceprefix_key UNIQUE (namespaceprefix);
320

    
321

    
322
--
323
-- Name: dsm_datasources_pkey; Type: CONSTRAINT; Schema: public; Owner: dnetapi; Tablespace:
324
--
325

    
326
ALTER TABLE ONLY dsm_datasources
327
    ADD CONSTRAINT dsm_datasources_pkey PRIMARY KEY (id);
328

    
329

    
330
--
331
-- Name: dsm_identities_pkey; Type: CONSTRAINT; Schema: public; Owner: dnetapi; Tablespace:
332
--
333

    
334
ALTER TABLE ONLY dsm_identities
335
    ADD CONSTRAINT dsm_identities_pkey PRIMARY KEY (pid);
336

    
337

    
338
--
339
-- Name: dsm_organization_datasource_pkey; Type: CONSTRAINT; Schema: public; Owner: dnetapi; Tablespace:
340
--
341

    
342
ALTER TABLE ONLY dsm_datasource_organization
343
    ADD CONSTRAINT dsm_organization_datasource_pkey PRIMARY KEY (datasource, organization);
344

    
345

    
346
--
347
-- Name: dsm_organizationpids_pkey; Type: CONSTRAINT; Schema: public; Owner: dnetapi; Tablespace:
348
--
349

    
350
ALTER TABLE ONLY dsm_organizationpids
351
    ADD CONSTRAINT dsm_organizationpids_pkey PRIMARY KEY (organization, pid);
352

    
353

    
354
--
355
-- Name: dsm_organizations_pkey; Type: CONSTRAINT; Schema: public; Owner: dnetapi; Tablespace:
356
--
357

    
358
ALTER TABLE ONLY dsm_organizations
359
    ADD CONSTRAINT dsm_organizations_pkey PRIMARY KEY (id);
360

    
361

    
362

    
363

    
364

    
365

    
366
--
367
-- Name: dsm_datasources_contactemail_idx; Type: INDEX; Schema: public; Owner: dnetapi; Tablespace:
368
--
369

    
370
CREATE INDEX dsm_datasources_contactemail_idx ON dsm_datasources USING btree (contactemail);
371

    
372

    
373
--
374
-- Name: dsm_datasources_englishname_idx; Type: INDEX; Schema: public; Owner: dnetapi; Tablespace:
375
--
376

    
377
CREATE INDEX dsm_datasources_englishname_idx ON dsm_datasources USING btree (englishname);
378

    
379

    
380
--
381
-- Name: dsm_datasources_managed_idx; Type: INDEX; Schema: public; Owner: dnetapi; Tablespace:
382
--
383

    
384
CREATE INDEX dsm_datasources_managed_idx ON dsm_datasources USING btree (managed);
385

    
386

    
387
--
388
-- Name: dsm_datasources_officialname_idx; Type: INDEX; Schema: public; Owner: dnetapi; Tablespace:
389
--
390

    
391
CREATE INDEX dsm_datasources_officialname_idx ON dsm_datasources USING btree (officialname);
392

    
393

    
394
--
395
-- Name: dsm_datasources_registeredby_idx; Type: INDEX; Schema: public; Owner: dnetapi; Tablespace:
396
--
397

    
398
CREATE INDEX dsm_datasources_registeredby_idx ON dsm_datasources USING btree (registeredby);
399

    
400

    
401
--
402
-- Name: dsm_organizations_country_idx; Type: INDEX; Schema: public; Owner: dnetapi; Tablespace:
403
--
404

    
405
CREATE INDEX dsm_organizations_country_idx ON dsm_organizations USING btree (country);
406

    
407

    
408

    
409

    
410

    
411

    
412

    
413

    
414
ALTER TABLE ONLY dsm_api
415
    ADD CONSTRAINT dsm_api_datasource_fkey FOREIGN KEY (datasource) REFERENCES dsm_datasources(id) ON DELETE CASCADE;
416

    
417

    
418
--
419
-- Name: dsm_apicollections_api_fkey; Type: FK CONSTRAINT; Schema: public; Owner: dnetapi
420
--
421

    
422
ALTER TABLE ONLY dsm_apiparams
423
    ADD CONSTRAINT dsm_apicollections_api_fkey FOREIGN KEY (api) REFERENCES dsm_api(id);
424

    
425

    
426
--
427
-- Name: dsm_datasource_organization_datasource_fkey; Type: FK CONSTRAINT; Schema: public; Owner: dnetapi
428
--
429

    
430
ALTER TABLE ONLY dsm_datasource_organization
431
    ADD CONSTRAINT dsm_datasource_organization_datasource_fkey FOREIGN KEY (datasource) REFERENCES dsm_datasources(id);
432

    
433

    
434
--
435
-- Name: dsm_datasource_organization_organization_fkey; Type: FK CONSTRAINT; Schema: public; Owner: dnetapi
436
--
437

    
438
ALTER TABLE ONLY dsm_datasource_organization
439
    ADD CONSTRAINT dsm_datasource_organization_organization_fkey FOREIGN KEY (organization) REFERENCES dsm_organizations(id) ON DELETE CASCADE;
440

    
441

    
442
--
443
-- Name: dsm_datasourcepids_datasource_fkey; Type: FK CONSTRAINT; Schema: public; Owner: dnetapi
444
--
445

    
446
ALTER TABLE ONLY dsm_datasourcepids
447
    ADD CONSTRAINT dsm_datasourcepids_datasource_fkey FOREIGN KEY (datasource) REFERENCES dsm_datasources(id);
448

    
449

    
450
--
451
-- Name: dsm_datasourcepids_pid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: dnetapi
452
--
453

    
454
ALTER TABLE ONLY dsm_datasourcepids
455
    ADD CONSTRAINT dsm_datasourcepids_pid_fkey FOREIGN KEY (pid) REFERENCES dsm_identities(pid);
456

    
457

    
458
--
459
-- Name: dsm_datasources_collectedfrom_fkey; Type: FK CONSTRAINT; Schema: public; Owner: dnetapi
460
--
461

    
462
ALTER TABLE ONLY dsm_datasources
463
    ADD CONSTRAINT dsm_datasources_collectedfrom_fkey FOREIGN KEY (collectedfrom) REFERENCES dsm_datasources(id);
464

    
465

    
466
--
467
-- Name: dsm_organizationpids_organization_fkey; Type: FK CONSTRAINT; Schema: public; Owner: dnetapi
468
--
469

    
470
ALTER TABLE ONLY dsm_organizationpids
471
    ADD CONSTRAINT dsm_organizationpids_organization_fkey FOREIGN KEY (organization) REFERENCES dsm_organizations(id);
472

    
473

    
474
--
475
-- Name: dsm_organizationpids_pid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: dnetapi
476
--
477

    
478
ALTER TABLE ONLY dsm_organizationpids
479
    ADD CONSTRAINT dsm_organizationpids_pid_fkey FOREIGN KEY (pid) REFERENCES dsm_identities(pid);
480

    
481

    
482
--
483
-- Name: dsm_organizations_collectedfrom_fkey; Type: FK CONSTRAINT; Schema: public; Owner: dnetapi
484
--
485

    
486
ALTER TABLE ONLY dsm_organizations
487
    ADD CONSTRAINT dsm_organizations_collectedfrom_fkey FOREIGN KEY (collectedfrom) REFERENCES dsm_datasources(id);
488

    
489

    
490

    
491
REVOKE ALL ON SCHEMA public FROM PUBLIC;
492
REVOKE ALL ON SCHEMA public FROM postgres;
493
GRANT ALL ON SCHEMA public TO postgres;
494
GRANT ALL ON SCHEMA public TO PUBLIC;
495

    
496

    
497
REVOKE ALL ON TABLE browse_countries FROM PUBLIC;
498
REVOKE ALL ON TABLE browse_countries FROM dnet;
499
GRANT ALL ON TABLE browse_countries TO dnet;
500
GRANT ALL ON TABLE browse_countries TO dnetapi;
501

    
502

    
503
REVOKE ALL ON TABLE dsm_datasource_api FROM PUBLIC;
504
REVOKE ALL ON TABLE dsm_datasource_api FROM dnet;
505
GRANT ALL ON TABLE dsm_datasource_api TO dnet;
506
GRANT SELECT ON TABLE dsm_datasource_api TO dnetapi;
507

    
508

    
(3-3/6)