-
-
Notifications
You must be signed in to change notification settings - Fork 104
Expand file tree
/
Copy pathstructure.sql
More file actions
63 lines (45 loc) · 1.75 KB
/
structure.sql
File metadata and controls
63 lines (45 loc) · 1.75 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
CREATE TABLE SystemUser (
Id serial,
Login varchar(64) NOT NULL,
Password varchar(64) NOT NULL,
FullName varchar(255)
);
ALTER TABLE SystemUser ADD CONSTRAINT pkSystemUser PRIMARY KEY (Id);
CREATE UNIQUE INDEX akSystemUserLogin ON SystemUser (Login);
CREATE TABLE SystemGroup (
Id serial,
Name varchar(64) NOT NULL
);
ALTER TABLE SystemGroup ADD CONSTRAINT pkSystemGroup PRIMARY KEY (Id);
CREATE UNIQUE INDEX akSystemGroupName ON SystemGroup (Name);
CREATE TABLE GroupUser (
GroupId integer NOT NULL,
UserId integer NOT NULL
);
ALTER TABLE GroupUser ADD CONSTRAINT pkGroupUser PRIMARY KEY (GroupId, UserId);
ALTER TABLE GroupUser ADD CONSTRAINT fkGroupUserGroupId FOREIGN KEY (GroupId) REFERENCES SystemGroup (Id) ON DELETE CASCADE;
ALTER TABLE GroupUser ADD CONSTRAINT fkGroupUserUserId FOREIGN KEY (UserId) REFERENCES SystemUser (Id) ON DELETE CASCADE;
CREATE TABLE Session (
Id serial,
UserId integer NOT NULL,
Token varchar(64) NOT NULL,
IP varchar(45) NOT NULL,
Data text
);
ALTER TABLE Session ADD CONSTRAINT pkSession PRIMARY KEY (Id);
CREATE UNIQUE INDEX akSession ON Session (Token);
ALTER TABLE Session ADD CONSTRAINT fkSessionUserId FOREIGN KEY (UserId) REFERENCES Session (Id) ON DELETE CASCADE;
CREATE TABLE Country (
Id serial,
Name varchar(64) NOT NULL
);
ALTER TABLE Country ADD CONSTRAINT pkCountry PRIMARY KEY (Id);
CREATE UNIQUE INDEX akCountry ON Country (Name);
CREATE TABLE City (
Id serial,
Name varchar(64) NOT NULL,
CountryId integer NOT NULL
);
ALTER TABLE City ADD CONSTRAINT pkCity PRIMARY KEY (Id);
CREATE UNIQUE INDEX akCity ON City (Name);
ALTER TABLE City ADD CONSTRAINT fkCityCountryId FOREIGN KEY (CountryId) REFERENCES Country (Id) ON DELETE CASCADE;