-
Notifications
You must be signed in to change notification settings - Fork 0
/
schema.dbml
158 lines (135 loc) · 3.06 KB
/
schema.dbml
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
enum clothingsize {
XS
S
M
L
XL
XXL
}
enum educationlevel {
primary
secondary
college
bachelor
master
doctorate
post_doctorate
}
enum languagelevel {
A1
A2
B1
B2
C1
C2
}
enum sexenum {
M
F
O
}
enum workstatus {
EMPLOYED
UNEMPLOYED
SELF_EMPLOYED
STUDENT
RETIRED
}
table address {
id uuid [pk, not null, default: `gen_random_uuid()`]
street varchar(255) [not null]
street_number varchar(10) [not null]
created_at timestamp [not null, default: `now()`]
updated_at timestamp
city_id uuid
}
table city {
id uuid [pk, not null, default: `gen_random_uuid()`]
name varchar(255) [not null]
postal_code varchar(10)
created_at timestamp [not null, default: `now()`]
updated_at timestamp
country_id uuid
}
table country {
id uuid [pk, not null, default: `gen_random_uuid()`]
name varchar(255) [not null]
created_at timestamp [not null, default: `now()`]
updated_at timestamp
}
table language {
id uuid [pk, not null, default: `gen_random_uuid()`]
name varchar(255) [not null]
level languagelevel [not null]
created_at timestamp [not null, default: `now()`]
updated_at timestamp
}
table license {
id uuid [pk, not null, default: `gen_random_uuid()`]
type varchar [not null]
name varchar(255) [not null]
description text
}
table profile_skill {
id uuid [pk, not null, default: `gen_random_uuid()`]
name varchar(255) [not null]
description text [not null]
created_at timestamp [not null, default: `now()`]
updated_at timestamp
profile_id uuid
}
table profile {
id uuid [pk, not null, default: `gen_random_uuid()`]
first_name varchar(255) [not null]
last_name varchar(255) [not null]
oib varchar(11) [not null, unique]
sex sexenum [not null]
birth_date date
birth_place varchar(255)
parent_name varchar(255)
nationality varchar(255)
user_id uuid [not null]
size_id uuid
address_id uuid
work_status_id uuid
language_id uuid
}
table profile_licence {
profile_id uuid [not null]
licence_id uuid [not null]
created_at timestamp [not null, default: `now()`]
}
table profile_size {
id uuid [pk, not null, default: `gen_random_uuid()`]
shoe_size real
clothing_size clothingsize
height real
weight real
created_at timestamp [not null, default: `now()`]
updated_at timestamp
}
table user {
id uuid [pk, not null, default: `gen_random_uuid()`]
email varchar(255) [not null]
password varchar(255)
active boolean [default: false]
created_at timestamp [not null, default: `now()`]
updated_at timestamp
}
table work_status {
id uuid [pk, not null, default: `gen_random_uuid()`]
status workstatus [not null]
profession varchar(255)
institution varchar(255)
education_level educationlevel
created_at timestamp [not null, default: `now()`]
updated_at timestamp
}
ref: address.city_id - city.id
ref: address.id - profile.id
ref: city.country_id - country.id
ref: profile_skill.profile_id - profile.id
ref: profile.size_id - profile_size.id
ref: profile.work_status_id - work_status.id
ref: profile.language_id - language.id
ref: user.id - profile.user_id