Projet

Général

Profil

US #990 » Script_BDD_Report_V4_(Create).sql

Anonyme, 07/04/2025 10:18

 
1
use socle_3;
2
CREATE TABLE company_reports (
3
id INT AUTO_INCREMENT PRIMARY KEY,
4
title VARCHAR(255) NOT NULL,
5
description TEXT,
6
report_type VARCHAR(20) NULL,
7
companyId INT NOT NULL,
8
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
9
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
10
FOREIGN KEY (companyId) REFERENCES company(id) ON DELETE CASCADE ON UPDATE CASCADE
11
);
12

    
13
CREATE TABLE company_reports_details (
14
id INT AUTO_INCREMENT PRIMARY KEY,
15
reportId INT NOT NULL,
16
request JSON NULL, 
17
response JSON NULL,   
18
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
19
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
20
FOREIGN KEY (reportId) REFERENCES company_reports(id) ON DELETE CASCADE ON UPDATE CASCADE
21
);
22

    
23
CREATE TABLE solution_report_subscription (
24
id INT AUTO_INCREMENT UNIQUE,
25
report_code VARCHAR(255) PRIMARY KEY,
26
subscription_code VARCHAR(255),   
27
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
28
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
29
FOREIGN KEY (subscription_code) REFERENCES solution_subscription(subscription_code) ON DELETE CASCADE ON UPDATE CASCADE
30
);
31

    
32
INSERT INTO solution_report_subscription (report_code, subscription_code) VALUES
33
-- Compensation
34
('essential_1', 'essential'),
35
('on_the_menu_1', 'on_the_menu'),
36
('advanced_1', 'advanced');
37

    
38
CREATE TABLE solution_report_criterias (
39
id INT AUTO_INCREMENT UNIQUE,
40
report_code VARCHAR(255) NOT NULL,
41
report_criterias VARCHAR(255) PRIMARY KEY,   
42
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
43
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
44
FOREIGN KEY (report_code) REFERENCES solution_report_subscription(report_code) ON DELETE CASCADE ON UPDATE CASCADE
45
);
46

    
47
INSERT INTO solution_report_criterias (report_code, report_criterias) VALUES
48
-- Essential
49
('essential_1', 'essential_1-grade'),
50
('essential_1', 'essential_1-collaborative_path'),
51
('essential_1', 'essential_1-function_code-subfunction_code-collaborative_path'),
52
('essential_1', 'essential_1-function_code-subfunction_code-collaborative_path_grade'),
53

    
54
-- On The Menu
55
('on_the_menu_1', 'on_the_menu_1-function_code-subfunction_code'),   
56
('on_the_menu_1', 'on_the_menu_1-function_code-subfunction_code-collaborative_path'),
57
('on_the_menu_1', 'on_the_menu_1-collaborative_path'),
58
('on_the_menu_1', 'on_the_menu_1-function_code-subfunction_code-collaborative_path-grade'),
59

    
60
-- Advanced
61
('advanced_1', 'advanced_1-function_code-subfunction_code'),   
62
('advanced_1', 'advanced_1-function_code-subfunction_code-collaborative_path'),
63
('advanced_1', 'advanced_1-collaborative_path'),
64
('advanced_1', 'advanced_1-function_code-subfunction_code-collaborative_path-grade');
65

    
66
CREATE TABLE solution_report_criterias_config (
67
id INT AUTO_INCREMENT PRIMARY KEY,
68
report_criterias VARCHAR(255) NOT NULL,   
69
criteria VARCHAR(255) NOT NULL,   
70
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
71
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
72
FOREIGN KEY (report_criterias) REFERENCES solution_report_criterias(report_criterias) ON DELETE CASCADE ON UPDATE CASCADE
73
);
74

    
75
INSERT INTO solution_report_criterias_config (report_criterias, criteria) VALUES
76
-- Essential
77
('essential_1-grade', 'grade'),
78
('essential_1-collaborative_path', 'collaborative_path'),
79
('essential_1-function_code-subfunction_code-collaborative_path', 'function_code'),
80
('essential_1-function_code-subfunction_code-collaborative_path', 'subfunction_code'),
81
('essential_1-function_code-subfunction_code-collaborative_path', 'collaborative_path'),
82
('essential_1-function_code-subfunction_code-collaborative_path_grade', 'function_code'),
83
('essential_1-function_code-subfunction_code-collaborative_path_grade', 'subfunction_code'),
84
('essential_1-function_code-subfunction_code-collaborative_path_grade', 'collaborative_path'),
85
('essential_1-function_code-subfunction_code-collaborative_path_grade', 'grade'),
86

    
87
-- On The Menu
88
('on_the_menu_1-function_code-subfunction_code', 'function_code'),   
89
('on_the_menu_1-function_code-subfunction_code', 'subfunction_code'),   
90
('on_the_menu_1-function_code-subfunction_code-collaborative_path', 'function_code'),
91
('on_the_menu_1-function_code-subfunction_code-collaborative_path', 'subfunction_code'),
92
('on_the_menu_1-function_code-subfunction_code-collaborative_path', 'collaborative_path'),
93
('on_the_menu_1-collaborative_path', 'collaborative_path'),
94
('on_the_menu_1-function_code-subfunction_code-collaborative_path-grade' , 'function_code'),
95
('on_the_menu_1-function_code-subfunction_code-collaborative_path-grade' , 'subfunction_code'),
96
('on_the_menu_1-function_code-subfunction_code-collaborative_path-grade' , 'collaborative_path'),
97
('on_the_menu_1-function_code-subfunction_code-collaborative_path-grade' , 'grade'),
98

    
99
-- Advanced
100
('advanced_1-function_code-subfunction_code', 'function_code'),   
101
('advanced_1-function_code-subfunction_code', 'subfunction_code'),   
102
('advanced_1-function_code-subfunction_code-collaborative_path', 'function_code'),
103
('advanced_1-function_code-subfunction_code-collaborative_path', 'subfunction_code'),
104
('advanced_1-function_code-subfunction_code-collaborative_path', 'collaborative_path'),
105
('advanced_1-collaborative_path', 'collaborative_path'),
106
('advanced_1-function_code-subfunction_code-collaborative_path-grade' , 'function_code'),
107
('advanced_1-function_code-subfunction_code-collaborative_path-grade' , 'subfunction_code'),
108
('advanced_1-function_code-subfunction_code-collaborative_path-grade' , 'collaborative_path'),
109
('advanced_1-function_code-subfunction_code-collaborative_path-grade' , 'grade');
110

    
111
CREATE TABLE  solution_report_charts (
112
id INT AUTO_INCREMENT PRIMARY KEY,
113
report_code VARCHAR(255) NOT NULL,   
114
report_chart VARCHAR(255) NOT NULL,  
115
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
116
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
117
FOREIGN KEY (report_code) REFERENCES solution_report_subscription(report_code) ON DELETE CASCADE ON UPDATE CASCADE
118
);
119

    
120
INSERT INTO solution_report_charts (report_code, report_chart) VALUES
121
('essential_1', 'gap_general'),
122
('essential_1', 'general_internal_gap_fixed'),
123

    
124
('on_the_menu_1', 'gap_general'),
125
('on_the_menu_1', 'general_internal_gap_fixed'),
126

    
127
('advanced_1', 'gap_general'),
128
('advanced_1', 'general_internal_gap_fixed');
129

    
130
CREATE TABLE solution_report_criterias_charts (
131
id INT AUTO_INCREMENT PRIMARY KEY,
132
report_criterias VARCHAR(255) NOT NULL,   
133
criteria VARCHAR(255) NOT NULL,   
134
createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,     
135
updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
136
FOREIGN KEY (report_criterias) REFERENCES solution_report_criterias(report_criterias) ON DELETE CASCADE ON UPDATE CASCADE
137
);
138

    
139
INSERT INTO solution_report_criterias_charts (report_criterias, criteria) VALUES
140
-- On The Menu
141
('on_the_menu_1-function_code-subfunction_code', 'repartition_gap'),
142
('on_the_menu_1-function_code-subfunction_code', 'repartition_data_bf'),
143
('on_the_menu_1-function_code-subfunction_code', 'repartition_data_bt'),
144
('on_the_menu_1-function_code-subfunction_code-collaborative_path', 'repartition_gap'),
145
('on_the_menu_1-function_code-subfunction_code-collaborative_path', 'repartition_data_bf'),
146
('on_the_menu_1-function_code-subfunction_code-collaborative_path', 'repartition_data_bt'),
147
('on_the_menu_1-collaborative_path', 'repartition_gap'),
148
('on_the_menu_1-collaborative_path', 'repartition_data_bf'),
149
('on_the_menu_1-collaborative_path', 'repartition_data_bt'),
150
('on_the_menu_1-function_code-subfunction_code-collaborative_path-grade', 'repartition_gap'),
151
('on_the_menu_1-function_code-subfunction_code-collaborative_path-grade', 'repartition_data_bf'),
152
('on_the_menu_1-function_code-subfunction_code-collaborative_path-grade', 'repartition_data_bt'),
153

    
154
-- Advanced
155
('advanced_1-function_code-subfunction_code', 'repartition_gap'),
156
('advanced_1-function_code-subfunction_code', 'repartition_data_bf'),
157
('advanced_1-function_code-subfunction_code', 'repartition_data_bt'),
158
('advanced_1-function_code-subfunction_code-collaborative_path', 'repartition_gap'),
159
('advanced_1-function_code-subfunction_code-collaborative_path', 'repartition_data_bf'),
160
('advanced_1-function_code-subfunction_code-collaborative_path', 'repartition_data_bt'),
161
('advanced_1-collaborative_path', 'repartition_gap'),
162
('advanced_1-collaborative_path', 'repartition_data_bf'),
163
('advanced_1-collaborative_path', 'repartition_data_bt'),
164
('advanced_1-function_code-subfunction_code-collaborative_path-grade', 'repartition_gap'),
165
('advanced_1-function_code-subfunction_code-collaborative_path-grade', 'repartition_data_bf'),
166
('advanced_1-function_code-subfunction_code-collaborative_path-grade', 'repartition_data_bt');
    (1-1/1)