Project

General

Profile

1
CREATE TABLE IF NOT EXISTS resource_kinds (
2
	id varchar(255) NOT NULL PRIMARY KEY
3
);
4

    
5
CREATE TABLE IF NOT EXISTS resource_types (
6
	id   varchar(255) NOT NULL PRIMARY KEY,
7
	kind varchar(255) NOT NULL REFERENCES resource_kinds(id)
8
);
9

    
10
CREATE TABLE IF NOT EXISTS resources (
11
	id     varchar(255) NOT NULL PRIMARY KEY,
12
	type   varchar(255) NOT NULL REFERENCES resource_types(id),
13
	valid  boolean      NOT NULL DEFAULT true,	
14
	date   timestamp    NOT NULL DEFAULT now()  
15
);
16

    
17
CREATE TABLE IF NOT EXISTS services (
18
	id varchar(255) NOT NULL PRIMARY KEY REFERENCES resources(id) ON DELETE CASCADE
19
);
20

    
21
CREATE TABLE IF NOT EXISTS blackboard (
22
	service varchar(255) NOT NULL REFERENCES services(id) ON DELETE CASCADE,
23
	id      varchar(255) NOT NULL PRIMARY KEY,
24
	action  varchar(255) NOT NULL,
25
	date    timestamp,
26
	params  text,
27
	status  varchar(255) NOT NULL
28
);
29

    
30
CREATE TABLE IF NOT EXISTS service_properties (
31
	service varchar(255) NOT NULL REFERENCES services(id) ON DELETE CASCADE,
32
	name    varchar(255) NOT NULL,
33
	value   varchar(255),
34
	PRIMARY KEY (service, name)
35
);
36

    
37
CREATE TABLE IF NOT EXISTS service_protocols (
38
	service varchar(255) NOT NULL REFERENCES services(id) ON DELETE CASCADE,
39
	name    varchar(255) NOT NULL,
40
	address varchar(512) NOT NULL UNIQUE,
41
	PRIMARY KEY (service, name)
42
);
43

    
44
CREATE TABLE IF NOT EXISTS subscriptions (
45
	id         varchar(255) NOT NULL PRIMARY KEY,
46
	operation  varchar(16) NOT NULL,
47
	tbl        varchar(255) NOT NULL,
48
	condition  text,
49
	subscriber varchar(255) NOT NULL REFERENCES services(id) ON DELETE CASCADE
50
);
51

    
52
CREATE TABLE IF NOT EXISTS datastructures (
53
	id      varchar(255) NOT NULL PRIMARY KEY REFERENCES resources(id) ON DELETE CASCADE,
54
	service varchar(255) NOT NULL REFERENCES services(id) ON DELETE SET NULL,
55
	format  varchar(8)   NOT NULL,
56
	content text
57
);
(1-1/2)