forked from opensanctions/opensanctions
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathschema.sql
More file actions
123 lines (103 loc) · 4.35 KB
/
schema.sql
File metadata and controls
123 lines (103 loc) · 4.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
-- 2022-01-06: original
CREATE TABLE alembic_version (
version_num character varying(32) NOT NULL
);
CREATE TABLE analytics_country (
entity_id character varying(255) NOT NULL,
country character varying(255) NOT NULL
);
CREATE TABLE analytics_dataset (
entity_id character varying(255) NOT NULL,
dataset character varying(255) NOT NULL
);
CREATE TABLE analytics_entity (
id character varying(255) NOT NULL,
schema character varying(255) NOT NULL,
caption character varying(65535) NOT NULL,
target boolean,
properties jsonb,
first_seen timestamp without time zone,
last_seen timestamp without time zone
);
CREATE TABLE cache (
url character varying NOT NULL,
text character varying,
dataset character varying NOT NULL,
"timestamp" timestamp without time zone
);
CREATE TABLE canonical (
entity_id character varying(255) NOT NULL,
canonical_id character varying(255)
);
CREATE TABLE issue (
id integer NOT NULL,
"timestamp" timestamp without time zone NOT NULL,
level character varying(255) NOT NULL,
module character varying(255),
dataset character varying(255) NOT NULL,
message character varying(65535),
entity_id character varying(255),
entity_schema character varying(255),
data json NOT NULL
);
CREATE SEQUENCE issue_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE issue_id_seq OWNED BY issue.id;
CREATE TABLE resource (
path character varying(255) NOT NULL,
dataset character varying(255) NOT NULL,
checksum character varying(255) NOT NULL,
"timestamp" timestamp without time zone NOT NULL,
mime_type character varying(255),
size integer,
title character varying(65535)
);
CREATE TABLE statement (
id character varying(255) NOT NULL,
entity_id character varying(255) NOT NULL,
canonical_id character varying(255),
prop character varying(255) NOT NULL,
prop_type character varying(255) NOT NULL,
schema character varying(255) NOT NULL,
value character varying(65535) NOT NULL,
dataset character varying(255),
target boolean NOT NULL,
"unique" boolean NOT NULL,
first_seen timestamp without time zone NOT NULL,
last_seen timestamp without time zone
);
ALTER TABLE ONLY issue ALTER COLUMN id SET DEFAULT nextval('issue_id_seq'::regclass);
ALTER TABLE ONLY alembic_version ADD CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num);
ALTER TABLE ONLY issue ADD CONSTRAINT issue_pkey PRIMARY KEY (id);
ALTER TABLE ONLY resource ADD CONSTRAINT resource_pkey PRIMARY KEY (path, dataset);
ALTER TABLE ONLY statement ADD CONSTRAINT statement_pkey PRIMARY KEY (id);
CREATE INDEX ix_analytics_country_country ON analytics_country USING btree (country);
CREATE INDEX ix_analytics_country_entity_id ON analytics_country USING btree (entity_id);
CREATE INDEX ix_analytics_dataset_dataset ON analytics_dataset USING btree (dataset);
CREATE INDEX ix_analytics_dataset_entity_id ON analytics_dataset USING btree (entity_id);
CREATE INDEX ix_analytics_entity_id ON analytics_entity USING btree (id);
CREATE INDEX ix_cache_timestamp ON cache USING btree ("timestamp");
CREATE UNIQUE INDEX ix_cache_url ON cache USING btree (url);
CREATE INDEX ix_canonical_entity_id ON canonical USING btree (entity_id);
CREATE INDEX ix_issue_dataset ON issue USING btree (dataset);
CREATE INDEX ix_issue_entity_id ON issue USING btree (entity_id);
CREATE INDEX ix_resource_dataset ON resource USING btree (dataset);
CREATE INDEX ix_statement_canonical_id ON statement USING btree (canonical_id);
CREATE INDEX ix_statement_dataset ON statement USING btree (dataset);
CREATE INDEX ix_statement_entity_id ON statement USING btree (entity_id);
CREATE INDEX ix_statement_last_seen ON statement USING btree (last_seen);
-- 2022-04-13: remove alembic version, remove unique column on statement.
DROP TABLE alembic_version;
ALTER TABLE "statement" DROP COLUMN "unique";
--- 2022-05-18: rename url to key in cache table.
ALTER TABLE "cache" RENAME COLUMN "url" TO "key";
--- 2022-05-23: add external column for pre-prod facts.
ALTER TABLE "statement" ADD COLUMN "external" boolean DEFAULT false;
--- 2022-10-31: add extra properties on statements
ALTER TABLE "statement" ADD COLUMN "lang" character varying(255) DEFAULT NULL;
ALTER TABLE "statement" ADD COLUMN "original_value" character varying(65535) DEFAULT NULL;