-
Notifications
You must be signed in to change notification settings - Fork 0
/
prj_devsafio_v4.sql
308 lines (253 loc) · 9.4 KB
/
prj_devsafio_v4.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
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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
BEGIN;
CREATE TABLE IF NOT EXISTS public.contact_companies
(
id bigserial NOT NULL,
name character varying(50) COLLATE pg_catalog."default" NOT NULL,
last_name character varying(50) COLLATE pg_catalog."default" NOT NULL,
email character varying(100) COLLATE pg_catalog."default" NOT NULL,
phone character varying(12) COLLATE pg_catalog."default" NOT NULL,
company_name character varying(50) COLLATE pg_catalog."default" NOT NULL,
doubts character varying(50) COLLATE pg_catalog."default",
CONSTRAINT contact_companies_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.databases
(
id bigserial NOT NULL,
name character varying(50) COLLATE pg_catalog."default",
CONSTRAINT databases_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.dev_languages
(
id bigserial NOT NULL,
name character varying(50) COLLATE pg_catalog."default",
CONSTRAINT dev_languages_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.education_experiences
(
id bigserial NOT NULL,
work_profile_id bigint NOT NULL,
career_name character varying(50) COLLATE pg_catalog."default" NOT NULL,
institution_name character varying(50) COLLATE pg_catalog."default" NOT NULL,
institution_type character varying(50) COLLATE pg_catalog."default",
start_month character varying(20) COLLATE pg_catalog."default",
end_month character varying(20) COLLATE pg_catalog."default",
start_year bigint,
end_year bigint,
CONSTRAINT education_experiences_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.roles
(
id bigserial NOT NULL,
name character varying(50) COLLATE pg_catalog."default" NOT NULL,
CONSTRAINT roles_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.soft_skills
(
id bigserial NOT NULL,
name character varying(50) COLLATE pg_catalog."default",
CONSTRAINT soft_skills_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.soft_skills_work_profiles
(
id bigserial NOT NULL,
soft_skills_id bigint NOT NULL,
work_profiles_id bigint NOT NULL,
CONSTRAINT soft_skills_work_profiles_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.tools
(
id bigserial NOT NULL,
name character varying(50) COLLATE pg_catalog."default",
CONSTRAINT tools_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.tools_work_profiles
(
id bigserial NOT NULL,
tools_id bigint NOT NULL,
work_profiles_id bigint NOT NULL,
CONSTRAINT tools_work_profiles_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.user_statuses
(
id bigserial NOT NULL,
name character varying(50) COLLATE pg_catalog."default" NOT NULL,
CONSTRAINT user_statuses_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.users
(
id bigserial NOT NULL,
role_id bigint,
status_id bigint,
work_profile_id bigint,
name character varying(50) COLLATE pg_catalog."default" NOT NULL,
last_name character varying(50) COLLATE pg_catalog."default" NOT NULL,
email character varying(100) COLLATE pg_catalog."default" NOT NULL,
password character varying(25) COLLATE pg_catalog."default" NOT NULL,
CONSTRAINT users_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.work_areas
(
id bigserial NOT NULL,
name character varying(50) COLLATE pg_catalog."default",
CONSTRAINT work_areas_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.work_profiles
(
id bigserial NOT NULL,
phone_number character varying(15) COLLATE pg_catalog."default",
city character varying(50) COLLATE pg_catalog."default",
country character varying(50) COLLATE pg_catalog."default",
gender character varying(10) COLLATE pg_catalog."default",
current_salary character varying(10) COLLATE pg_catalog."default",
educational_level character varying(100) COLLATE pg_catalog."default",
current_education_status character varying(50) COLLATE pg_catalog."default",
english_level character varying(50) COLLATE pg_catalog."default" NOT NULL,
additional_tools_comments text COLLATE pg_catalog."default",
cv_url character varying(100) COLLATE pg_catalog."default" NOT NULL,
linkedin_url character varying(100) COLLATE pg_catalog."default" NOT NULL,
github_url character varying(100) COLLATE pg_catalog."default" NOT NULL,
portfolio_url character varying(100) COLLATE pg_catalog."default",
best_project character varying(100) COLLATE pg_catalog."default" NOT NULL,
dev_experience character varying(100) COLLATE pg_catalog."default" NOT NULL,
relocation_option character varying(25) COLLATE pg_catalog."default",
ideal_work_comment text COLLATE pg_catalog."default" NOT NULL,
availability_job character varying(30) COLLATE pg_catalog."default",
current_situation character varying(25) COLLATE pg_catalog."default",
id_job_statuses bigint,
CONSTRAINT work_profiles_pkey PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.job_statuses
(
id bigserial NOT NULL,
job_status character varying(100) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.job_areas
(
id bigserial NOT NULL,
job_area character varying(100) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS public.job_areas_work_profiles
(
job_areas_id bigserial NOT NULL,
work_profiles_id bigint NOT NULL
);
CREATE TABLE IF NOT EXISTS public.contact_companies_work_areas
(
contact_companies_id bigserial NOT NULL,
work_areas_id bigserial NOT NULL
);
CREATE TABLE IF NOT EXISTS public.databases_work_profiles
(
databases_id bigserial NOT NULL,
work_profiles_id bigserial NOT NULL
);
CREATE TABLE IF NOT EXISTS public.dev_languages_work_profiles
(
dev_languages_id bigserial NOT NULL,
work_profiles_id bigserial NOT NULL
);
ALTER TABLE IF EXISTS public.education_experiences
ADD CONSTRAINT education_experiences_work_profile_id_fkey FOREIGN KEY (work_profile_id)
REFERENCES public.work_profiles (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.soft_skills_work_profiles
ADD CONSTRAINT soft_skills_work_profiles_soft_skills_id_fkey FOREIGN KEY (soft_skills_id)
REFERENCES public.soft_skills (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.soft_skills_work_profiles
ADD CONSTRAINT soft_skills_work_profiles_work_profiles_id_fkey FOREIGN KEY (work_profiles_id)
REFERENCES public.work_profiles (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.tools_work_profiles
ADD CONSTRAINT tools_work_profiles_tools_id_fkey FOREIGN KEY (tools_id)
REFERENCES public.tools (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.tools_work_profiles
ADD CONSTRAINT tools_work_profiles_work_profiles_id_fkey FOREIGN KEY (work_profiles_id)
REFERENCES public.work_profiles (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.users
ADD CONSTRAINT users_role_id_fkey FOREIGN KEY (role_id)
REFERENCES public.roles (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.users
ADD CONSTRAINT users_status_id_fkey FOREIGN KEY (status_id)
REFERENCES public.user_statuses (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.users
ADD FOREIGN KEY (work_profile_id)
REFERENCES public.work_profiles (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.work_profiles
ADD FOREIGN KEY (id_job_statuses)
REFERENCES public.job_statuses (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.job_areas_work_profiles
ADD FOREIGN KEY (job_areas_id)
REFERENCES public.job_areas (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.job_areas_work_profiles
ADD FOREIGN KEY (work_profiles_id)
REFERENCES public.work_profiles (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.contact_companies_work_areas
ADD FOREIGN KEY (contact_companies_id)
REFERENCES public.contact_companies (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.contact_companies_work_areas
ADD FOREIGN KEY (work_areas_id)
REFERENCES public.work_areas (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.databases_work_profiles
ADD FOREIGN KEY (databases_id)
REFERENCES public.databases (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.databases_work_profiles
ADD FOREIGN KEY (work_profiles_id)
REFERENCES public.work_profiles (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.dev_languages_work_profiles
ADD FOREIGN KEY (dev_languages_id)
REFERENCES public.dev_languages (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
ALTER TABLE IF EXISTS public.dev_languages_work_profiles
ADD FOREIGN KEY (work_profiles_id)
REFERENCES public.work_profiles (id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT VALID;
END;