-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinit.sql
104 lines (83 loc) · 3.11 KB
/
init.sql
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
CREATE TABLE IF NOT EXISTS articles (
id SERIAL PRIMARY KEY,
url TEXT UNIQUE,
country TEXT,
language TEXT,
title TEXT,
posted_date DATE,
posted_date_str VARCHAR(50),
content TEXT,
article_type TEXT,
all_html_content TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMP,
deleted BOOLEAN DEFAULT FALSE
);
CREATE TABLE IF NOT EXISTS public.links (
id SERIAL PRIMARY KEY,
article_id integer NOT NULL,
href text NULL COLLATE pg_catalog."default",
linktext text NULL COLLATE pg_catalog."default",
CONSTRAINT links_article_id_fkey FOREIGN KEY (article_id)
REFERENCES articles (id) MATCH SIMPLE
ON UPDATE CASCADE
ON DELETE CASCADE
);
ALTER TABLE articles ADD COLUMN IF NOT EXISTS raw_html TEXT;
ALTER TABLE articles ADD COLUMN IF NOT EXISTS iso3 VARCHAR (3);
ALTER TABLE articles ADD COLUMN IF NOT EXISTS has_lab BOOLEAN;
ALTER TABLE articles ADD COLUMN IF NOT EXISTS lat FLOAT, ADD COLUMN IF NOT EXISTS lng FLOAT;
CREATE EXTENSION IF NOT EXISTS postgis;
ALTER TABLE articles
ADD COLUMN privilege INT DEFAULT 1,
ADD COLUMN rights INT DEFAULT 1,
ADD CONSTRAINT unique_url UNIQUE (url),
ADD COLUMN tags TEXT[];
-- privilege 2 - private document
-- privilege 3 - confidential document
ALTER TABLE articles
ADD COLUMN relevance INT DEFAULT 0;
CREATE TABLE IF NOT EXISTS public.nlp_fallback (
id SERIAL PRIMARY KEY,
article_id integer NOT NULL,
col VARCHAR(50),
CONSTRAINT nlp_article_id_fkey FOREIGN KEY (article_id)
REFERENCES articles (id) MATCH SIMPLE
);
CREATE TABLE iso_languages (Name VARCHAR(99),Set1 VARCHAR (2),Set2T VARCHAR(3),Set2B VARCHAR (3),Set3 VARCHAR(9),Notes VARCHAR(199));
CREATE TABLE IF NOT EXISTS article_content (
id SERIAL PRIMARY KEY,
article_id INTEGER REFERENCES articles(id) ON DELETE CASCADE,
content TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS article_html_content (
id SERIAL PRIMARY KEY,
article_id INTEGER REFERENCES articles(id) ON DELETE CASCADE,
html_content TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS raw_html (
id SERIAL PRIMARY KEY,
article_id INTEGER REFERENCES articles(id) ON DELETE CASCADE,
raw_html TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
ALTER TABLE article_content
ADD CONSTRAINT unique_article_content_id UNIQUE (article_id);
ALTER TABLE article_html_content
ADD CONSTRAINT unique_article_html_content_id UNIQUE (article_id);
ALTER TABLE raw_html
ADD CONSTRAINT unique_raw_html_id UNIQUE (article_id);
ALTER TABLE nlp_fallback
DROP CONSTRAINT nlp_article_id_fkey;
ALTER TABLE nlp_fallback
ADD CONSTRAINT nlp_article_id_fkey FOREIGN KEY (article_id)
REFERENCES articles (id)
ON DELETE CASCADE;
ALTER TABLE articles ADD COLUMN IF NOT EXISTS parsed_date DATE;
ALTER TABLE articles ADD COLUMN IF NOT EXISTS img TEXT;