-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinit.sql
More file actions
59 lines (49 loc) · 2.09 KB
/
init.sql
File metadata and controls
59 lines (49 loc) · 2.09 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
CREATE TABLE IF NOT EXISTS users (
id BIGSERIAL PRIMARY KEY, -
login VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
role VARCHAR(20) NOT NULL
);
CREATE TABLE IF NOT EXISTS countries (
id BIGSERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL UNIQUE
);
CREATE TABLE IF NOT EXISTS resorts (
id BIGSERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
description TEXT,
country_id BIGINT NOT NULL,
FOREIGN KEY (country_id) REFERENCES countries(id) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS hotels (
id BIGSERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
stars INT CHECK (stars >= 1 AND stars <= 5),
resort_id BIGINT NOT NULL, -- Тут має бути BIGINT
FOREIGN KEY (resort_id) REFERENCES resorts(id) ON DELETE CASCADE
);
INSERT INTO users (login, password, role)
SELECT 'admin', 'YWRtaW4=', 'ADMIN'
WHERE NOT EXISTS (SELECT 1 FROM users WHERE login = 'admin');
INSERT INTO users (login, password, role)
SELECT 'user', 'dXNlcg==', 'USER'
WHERE NOT EXISTS (SELECT 1 FROM users WHERE login = 'user');
-- Країни
INSERT INTO countries (name)
SELECT 'Туреччина' WHERE NOT EXISTS (SELECT 1 FROM countries WHERE name = 'Туреччина');
INSERT INTO countries (name)
SELECT 'Єгипет' WHERE NOT EXISTS (SELECT 1 FROM countries WHERE name = 'Єгипет');
-- Курорти
INSERT INTO resorts (name, description, country_id)
SELECT 'Анталія', 'Популярний середземноморський курорт', 1
WHERE NOT EXISTS (SELECT 1 FROM resorts WHERE name = 'Анталія');
INSERT INTO resorts (name, description, country_id)
SELECT 'Шарм-ель-Шейх', 'Курорт на Червоному морі', 2
WHERE NOT EXISTS (SELECT 1 FROM resorts WHERE name = 'Шарм-ель-Шейх');
-- Готелі
INSERT INTO hotels (name, stars, resort_id)
SELECT 'Rixos Downtown', 5, 1
WHERE NOT EXISTS (SELECT 1 FROM hotels WHERE name = 'Rixos Downtown');
INSERT INTO hotels (name, stars, resort_id)
SELECT 'Savoy', 5, 2
WHERE NOT EXISTS (SELECT 1 FROM hotels WHERE name = 'Savoy');