Projekt

Obecné

Profil

« Předchozí | Další » 

Revize dabc8081

Přidáno uživatelem Dominik Poch před více než 5 roky(ů)

Deletion of enums from the database

Zobrazit rozdíly:

server/init.sql
1
-- -----------------------------------------------------
2
-- Table role
3
-- -----------------------------------------------------
4
DROP TABLE IF EXISTS role;
5
CREATE TABLE role (
6
  id TINYINT NOT NULL AUTO_INCREMENT,
7
  name VARCHAR(8) NOT NULL,
8
  PRIMARY KEY (id)
9
);
10

  
11
-- -----------------------------------------------------
12
-- Table approval_status
13
-- -----------------------------------------------------
14
DROP TABLE IF EXISTS approval_status;
15
CREATE TABLE approval_status (
16
  id TINYINT NOT NULL AUTO_INCREMENT,
17
  name VARCHAR(8) NOT NULL,
18
  PRIMARY KEY (id)
19
);
20

  
21
-- -----------------------------------------------------
22
-- Table vacation_type
23
-- -----------------------------------------------------
24
DROP TABLE IF EXISTS vacation_type;
25
CREATE TABLE vacation_type (
26
  id TINYINT NOT NULL AUTO_INCREMENT,
27
  name VARCHAR(8) NOT NULL,
28
  PRIMARY KEY (id)
29
);
30

  
31 1
-- -----------------------------------------------------
32 2
-- Table end_user
33 3
-- -----------------------------------------------------
......
44 14
  email VARCHAR(100) NOT NULL,
45 15
  photo TEXT,
46 16
  creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
47
  role_id TINYINT NOT NULL,
48
  status_id TINYINT NOT NULL,
17
  user_role VARCHAR(8) NOT NULL,
18
  status VARCHAR(8) NOT NULL,
49 19
  PRIMARY KEY (id),
50
  INDEX fk_end_user_role (role_id ASC),
51
  INDEX fk_end_user_approval_status (status_id ASC),
52
  CONSTRAINT fk_end_user_role FOREIGN KEY (role_id)
53
    REFERENCES role (id)
54
    ON DELETE CASCADE ON UPDATE CASCADE,
55
  CONSTRAINT fk_end_user_approval_status FOREIGN KEY (status_id)
56
    REFERENCES approval_status (id)
57
    ON DELETE NO ACTION ON UPDATE CASCADE,
58 20
  CONSTRAINT check_taken_sick_days CHECK (taken_sick_days >= 0)
59 21
);
60 22

  
......
68 30
  time_from TIME,
69 31
  time_to TIME,
70 32
  creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
33
  status VARCHAR(8) NOT NULL,
34
  vacation_type VARCHAR(8) NOT NULL,
71 35
  user_id BIGINT NOT NULL,
72
  status_id TINYINT NOT NULL,
73
  type_id TINYINT NOT NULL,
74 36
  PRIMARY KEY (id),
75
  INDEX fk_vacation_day_approval_status (status_id ASC),
76 37
  INDEX fk_vacation_day_end_user (user_id ASC),
77
  INDEX fk_vacation_day_vacation_type (type_id ASC),
78
  CONSTRAINT fk_vacation_day_approval_status FOREIGN KEY (status_id)
79
    REFERENCES approval_status (id)
80
    ON DELETE NO ACTION ON UPDATE CASCADE,
81 38
  CONSTRAINT fk_vacation_day_end_user FOREIGN KEY (user_id)
82 39
    REFERENCES end_user (id)
83 40
    ON DELETE CASCADE ON UPDATE CASCADE,
84
  CONSTRAINT fk_vacation_day_vacation_type FOREIGN KEY (type_id)
85
    REFERENCES vacation_type (id)
86
    ON DELETE CASCADE ON UPDATE CASCADE,
87 41
  CONSTRAINT check_time CHECK (time_from < time_to)
88 42
);
89 43

  
......
121 75
  DECLARE notification DATETIME;
122 76

  
123 77
  SELECT no_sick_days, alert INTO sickDaysCount, notification FROM default_settings ORDER BY id DESC LIMIT 1;
124
  SELECT u.id, u.first_name, u.last_name, u.no_vacations, IFNULL(u.no_sick_days, sickDaysCount), u.taken_sick_days, IFNULL(u.alert, notification), u.email, u.photo, u.creation_date, r.name, s.name
78
  SELECT id, first_name, last_name, no_vacations, IFNULL(no_sick_days, sickDaysCount), taken_sick_days, IFNULL(alert, notification), email, photo, creation_date, user_role, status
125 79
     INTO out_id, out_first_name, out_last_name, out_no_vacations, out_no_sick_days, out_taken_sick_days, out_alert, out_email, out_photo, out_creation_date, out_role, out_status
126
     FROM end_user u
127
     INNER JOIN role r ON u.role_id=r.id
128
     INNER JOIN approval_status s ON u.status_id=s.id
129
     WHERE u.id=in_id;
80
     FROM end_user
81
     WHERE id=in_id;
130 82
END $$
131 83

  
132 84
DROP PROCEDURE IF EXISTS GetUserToken $$
133 85
CREATE PROCEDURE GetUserToken(
134
  IN p_token TEXT,
86
  IN in_token TEXT,
135 87
  OUT out_id BIGINT,
136 88
  OUT out_first_name VARCHAR(45),
137 89
  OUT out_last_name VARCHAR(45),
......
149 101
  DECLARE notification DATETIME;
150 102

  
151 103
  SELECT no_sick_days, alert INTO sickDaysCount, notification FROM default_settings ORDER BY id DESC LIMIT 1;
152
  SELECT u.id, u.first_name, u.last_name, u.no_vacations, IFNULL(u.no_sick_days, sickDaysCount), u.taken_sick_days, IFNULL(u.alert, notification), u.email, u.photo, u.creation_date, r.name, s.name
104
  SELECT id, first_name, last_name, no_vacations, IFNULL(no_sick_days, sickDaysCount), taken_sick_days, IFNULL(alert, notification), email, photo, creation_date, user_role, status
153 105
     INTO out_id, out_first_name, out_last_name, out_no_vacations, out_no_sick_days, out_taken_sick_days, out_alert, out_email, out_photo, out_creation_date, out_role, out_status
154
     FROM end_user u
155
     INNER JOIN role r ON u.role_id=r.id
156
     INNER JOIN approval_status s ON u.status_id=s.id
157
     WHERE u.token=p_token;
106
     FROM end_user
107
     WHERE token=in_token;
158 108
END $$
159 109

  
160 110
DELIMITER ;
161 111

  
162
-- -----------------------------------------------------
163
-- Insert table role
164
-- -----------------------------------------------------
165
INSERT INTO role (name) VALUES ('employee');
166
INSERT INTO role (name) VALUES ('employer');
167

  
168
-- -----------------------------------------------------
169
-- Insert table approval_status
170
-- -----------------------------------------------------
171
INSERT INTO approval_status (name) VALUES ('accepted');
172
INSERT INTO approval_status (name) VALUES ('pending');
173
INSERT INTO approval_status (name) VALUES ('rejected');
174

  
175
-- -----------------------------------------------------
176
-- Insert table vacation_type
177
-- -----------------------------------------------------
178
INSERT INTO vacation_type (name) VALUES ('sickday');
179
INSERT INTO vacation_type (name) VALUES ('vacation');
180

  
181 112
-- -----------------------------------------------------
182 113
-- Insert table end_user
183 114
-- -----------------------------------------------------
184
INSERT INTO end_user (first_name, last_name, no_vacations, no_sick_days, taken_sick_days, alert, token, email, photo, role_id, status_id) VALUES ('admin', 'admin', 0, NULL, 0, NULL, '', '', '', 2, 1);
185
INSERT INTO end_user (first_name, last_name, no_vacations, no_sick_days, taken_sick_days, alert, token, email, photo, role_id, status_id) VALUES ('test', 'test', 0, NULL, 0, NULL, '', '', '', 1, 2);
115
INSERT INTO end_user (first_name, last_name, no_vacations, no_sick_days, taken_sick_days, alert, token, email, photo, user_role, status) VALUES ('admin', 'admin', 0, NULL, 0, NULL, '', '', '', 'employer', 'accepted');
116
INSERT INTO end_user (first_name, last_name, no_vacations, no_sick_days, taken_sick_days, alert, token, email, photo, user_role, status) VALUES ('Jan', 'Novák', 0, 10, 0, '2019-12-6 16:30:00.000', '', '', '', 'employee', 'pending');
117
INSERT INTO end_user (first_name, last_name, no_vacations, no_sick_days, taken_sick_days, alert, token, email, photo, user_role, status) VALUES ('Josef', 'Svoboda', 2, NULL, 3, NULL, '', '', '', 'employee', 'rejected');
186 118

  
187 119
-- -----------------------------------------------------
188 120
-- Insert table vacation_day

Také k dispozici: Unified diff