|
1
|
use salarymarket;
|
|
2
|
-- Compensation
|
|
3
|
-- Create company_compensation table
|
|
4
|
CREATE TABLE company_compensation (
|
|
5
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
6
|
city Text NULL,
|
|
7
|
site varchar(1) NULL,
|
|
8
|
matricule varchar(255) NULL,
|
|
9
|
department varchar(255) NULL,
|
|
10
|
`function` varchar(255) NULL,
|
|
11
|
internal_grade varchar(255) NULL,
|
|
12
|
gender varchar(255) NULL,
|
|
13
|
birthday Text NULL,
|
|
14
|
hiring_date Text NULL,
|
|
15
|
function_code varchar(255) NULL,
|
|
16
|
subfunction_code varchar(255) NULL,-- changed instead of discipline_code
|
|
17
|
collaborative_path varchar(255) NULL,-- changed instead of level_career_path
|
|
18
|
grade varchar(255) NULL, -- changed instead of job_grade
|
|
19
|
number_employees_supervised INT NULL ,
|
|
20
|
devise VARCHAR(10) NULL,
|
|
21
|
gross_annual_salary float NULL,
|
|
22
|
number_monthly_salary INT(5) NULL ,
|
|
23
|
type_overtime_pay varchar(255) NULL,
|
|
24
|
meal_allowance float NULL,
|
|
25
|
location_allowance float NULL,
|
|
26
|
transportation_allowance INT NULL ,
|
|
27
|
other_bonuses_awarded_last_year INT NULL, -- changed instead of other_bonuses_awarded
|
|
28
|
fixed_allowances float NULL ,
|
|
29
|
eligibility_performance_bonus float NULL,
|
|
30
|
target_performance_bonus varchar(255) NULL ,
|
|
31
|
total_amount_performance_bonus_awarded INT NULL,
|
|
32
|
eligibility_commissions varchar(255) NULL,
|
|
33
|
target_variable_sales_compensation varchar(255) NULL ,
|
|
34
|
total_amount_sales_bonus_awarded INT NULL,
|
|
35
|
total_amount_sales_commissions_awarded INT NULL,
|
|
36
|
car_benefit_eligibility varchar(255) NULL ,
|
|
37
|
car_depreciation varchar(255) Null,
|
|
38
|
annual_cost_car_depreciation INT NULL,
|
|
39
|
schooling_allowance float NULL, -- new
|
|
40
|
seniority_bonus float NULL, -- new
|
|
41
|
companyId INT NULL,
|
|
42
|
FOREIGN KEY (companyId) REFERENCES company(id) ON DELETE CASCADE ON UPDATE CASCADE
|
|
43
|
);
|
|
44
|
|
|
45
|
---- Report
|
|
46
|
-- Create company_reports_files table
|
|
47
|
CREATE TABLE company_reports (
|
|
48
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
49
|
label VARCHAR(255) NOT NULL,
|
|
50
|
date DATETIME NULL,
|
|
51
|
description TEXT,
|
|
52
|
file VARCHAR(255) NULL,
|
|
53
|
companyId INT NOT NULL,
|
|
54
|
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
55
|
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
56
|
FOREIGN KEY (companyId) REFERENCES company(id) ON DELETE CASCADE ON UPDATE CASCADE
|
|
57
|
);
|
|
58
|
|
|
59
|
|
|
60
|
-- Create company_reports_files table
|
|
61
|
CREATE TABLE IF NOT EXISTS company_reports_files (
|
|
62
|
report_id INT NOT NULL,
|
|
63
|
files_id INT NOT NULL,
|
|
64
|
PRIMARY KEY (report_id, files_id),
|
|
65
|
FOREIGN KEY (report_id) REFERENCES company_reports(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
66
|
FOREIGN KEY (files_id) REFERENCES company_files(id) ON DELETE CASCADE ON UPDATE CASCADE
|
|
67
|
);
|
|
68
|
---- Questionnaire
|
|
69
|
-- Create solution_questionnaire table
|
|
70
|
CREATE TABLE solution_questionnaire (
|
|
71
|
id INT PRIMARY KEY AUTO_INCREMENT,
|
|
72
|
name VARCHAR(255) NOT NULL,
|
|
73
|
description Text null,
|
|
74
|
countryId INT NOT NULL,
|
|
75
|
`order` INT NOT NULL,
|
|
76
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
77
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
78
|
FOREIGN KEY (countryId) REFERENCES solution_setting_item(id) ON DELETE CASCADE
|
|
79
|
);
|
|
80
|
-- Create solution_questionnaire_section table
|
|
81
|
CREATE TABLE solution_questionnaire_section (
|
|
82
|
id INT PRIMARY KEY AUTO_INCREMENT,
|
|
83
|
name VARCHAR(255) NOT NULL,
|
|
84
|
questionnaireId INT NOT NULL,
|
|
85
|
`order` INT NOT NULL,
|
|
86
|
FOREIGN KEY (questionnaireId) REFERENCES solution_questionnaire(id) ON DELETE CASCADE ON UPDATE CASCADE
|
|
87
|
);
|
|
88
|
-- Create solution_questionnaire_questions table
|
|
89
|
CREATE TABLE solution_questionnaire_questions (
|
|
90
|
id INT PRIMARY KEY AUTO_INCREMENT,
|
|
91
|
question VARCHAR(255) NOT NULL,
|
|
92
|
sectionId INT NOT NULL,
|
|
93
|
questionnaireId INT NOT NULL,
|
|
94
|
idparent INT DEFAULT 0,
|
|
95
|
type VARCHAR(2) NOT NULL,
|
|
96
|
`order` INT NOT NULL,
|
|
97
|
echartType varchar(255),
|
|
98
|
FOREIGN KEY (sectionId) REFERENCES solution_questionnaire_section(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
99
|
FOREIGN KEY (questionnaireId) REFERENCES solution_questionnaire(id) ON DELETE CASCADE ON UPDATE CASCADE
|
|
100
|
);
|
|
101
|
-- Create solution_questionnaire_question_items table
|
|
102
|
CREATE TABLE solution_questionnaire_question_items (
|
|
103
|
id INT PRIMARY KEY AUTO_INCREMENT,
|
|
104
|
item VARCHAR(255) NOT NULL,
|
|
105
|
questionId INT NOT NULL,
|
|
106
|
itemParentId INT NULL,
|
|
107
|
isOther BOOLEAN DEFAULT 0,
|
|
108
|
FOREIGN KEY (questionId) REFERENCES solution_questionnaire_questions(id) ON DELETE CASCADE ON UPDATE CASCADE
|
|
109
|
);
|
|
110
|
-- Create company_questionnaire_response table
|
|
111
|
CREATE TABLE company_questionnaire_response (
|
|
112
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
113
|
questionnaireId INT NOT NULL,
|
|
114
|
questionId INT NOT NULL,
|
|
115
|
sectionId INT NOT NULL,
|
|
116
|
itemId INT NOT NULL,
|
|
117
|
response VARCHAR(255),
|
|
118
|
type VARCHAR(50),
|
|
119
|
companyId INT NOT NULL,
|
|
120
|
FOREIGN KEY (questionnaireId) REFERENCES solution_questionnaire(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
121
|
FOREIGN KEY (sectionId) REFERENCES solution_questionnaire_section(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
122
|
FOREIGN KEY (itemId) REFERENCES solution_questionnaire_question_items(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
123
|
FOREIGN KEY (questionId) REFERENCES solution_questionnaire_questions(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
124
|
FOREIGN KEY (companyId) REFERENCES company(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
125
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
126
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
|
127
|
);
|