Projet

Général

Profil

US #1192 » script_diff_prod.sql

ahlem belgacem, 30/10/2025 18:10

 
1
use salarymarket;
2

    
3
ALTER TABLE salarymarket.company_reports
4
ADD COLUMN includeCompany boolean;
5
ALTER TABLE salarymarket.company_reports
6
ADD COLUMN category ENUM('market', 'personalized', 'matricule') NOT NULL;
7

    
8
SET SQL_SAFE_UPDATES = 0;
9

    
10
DELETE FROM salarymarket.solution_compensation_informations
11
WHERE column_code IN (
12
  'amortissement_voiture',
13
  'frais_annuel_amortissement_avantage_voiture',
14
  'car_depreciation',
15
  'annual_cost_car_depreciation'
16
);
17

    
18
SET SQL_SAFE_UPDATES = 1;
19
-- fix BS04 translate 
20
UPDATE salarymarket.solution_setting_business_sector_translate
21
SET languageId = 2
22
WHERE label = 'Marché industriel' 
23
AND businessSectorCode = 'BS04';
24

    
25
use salarymarket ;
26
-- DROP TABLES
27
DROP TABLE IF EXISTS solution_report_criterias_charts;
28
DROP TABLE IF EXISTS solution_report_criterias_config;
29
DROP TABLE IF EXISTS solution_report_charts;
30
DROP TABLE IF EXISTS solution_report_criterias;
31

    
32
-- 1️ solution_reports_config_gaps
33
CREATE TABLE solution_reports_config_gaps (
34
  subscription_code VARCHAR(255) NOT NULL,
35
  category ENUM('market', 'personalized') NOT NULL,
36
  gap BOOLEAN NOT NULL,
37
  PRIMARY KEY (subscription_code, category),
38
  FOREIGN KEY (subscription_code) REFERENCES solution_subscription(subscription_code)
39
    ON DELETE CASCADE ON UPDATE CASCADE
40
);
41

    
42
INSERT INTO solution_reports_config_gaps (subscription_code, category, gap) VALUES 
43
('essential', 'market', false),
44
('advanced', 'market', false),
45
('advanced', 'personalized', true),
46
('on_the_menu', 'market', false),
47
('on_the_menu', 'personalized', true);
48

    
49
-- 2️ solution_report_criterias
50
CREATE TABLE solution_report_criterias (
51
  id INT AUTO_INCREMENT PRIMARY KEY,
52
  subscription_code VARCHAR(255) NOT NULL,
53
  category ENUM('market', 'personalized') NOT NULL,
54
  report_criterias VARCHAR(255) NOT NULL,
55
  createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
56
  updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
57
  FOREIGN KEY (subscription_code, category)
58
    REFERENCES solution_reports_config_gaps(subscription_code, category)
59
    ON DELETE CASCADE ON UPDATE CASCADE,
60
  UNIQUE KEY unique_report_per_subscription (subscription_code, category, report_criterias)
61
);
62

    
63
INSERT INTO solution_report_criterias (subscription_code, category, report_criterias) VALUES
64
-- Essential / market
65
('essential', 'market', 'essential-grade'),
66
('essential', 'market', 'essential-collaborative_path'),
67
('essential', 'market', 'essential-function_code-subfunction_code-collaborative_path'),
68
('essential', 'market', 'essential-function_code-subfunction_code-collaborative_path-grade'),
69

    
70
-- On The Menu / market
71
('on_the_menu', 'market', 'on_the_menu-grade'),
72
('on_the_menu', 'market', 'on_the_menu-collaborative_path'),
73
('on_the_menu', 'market', 'on_the_menu-function_code-subfunction_code-collaborative_path'),
74
('on_the_menu', 'market', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade'),
75

    
76
-- On The Menu / personalized
77
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code'),
78
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path'),
79
('on_the_menu', 'personalized', 'on_the_menu-collaborative_path'),
80
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade'),
81

    
82
-- Advanced / market
83
('advanced', 'market', 'advanced-grade'),
84
('advanced', 'market', 'advanced-collaborative_path'),
85
('advanced', 'market', 'advanced-function_code-subfunction_code-collaborative_path'),
86
('advanced', 'market', 'advanced-function_code-subfunction_code-collaborative_path-grade'),
87

    
88
-- Advanced / personalized
89
('advanced', 'personalized', 'advanced-function_code-subfunction_code'),
90
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path'),
91
('advanced', 'personalized', 'advanced-collaborative_path'),
92
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path-grade');
93

    
94
-- 3️ solution_report_criterias_config
95
CREATE TABLE solution_report_criterias_config (
96
  id INT AUTO_INCREMENT PRIMARY KEY,
97
  subscription_code VARCHAR(255) NOT NULL,
98
  category ENUM('market', 'personalized') NOT NULL,
99
  report_criterias VARCHAR(255) NOT NULL,
100
  criteria VARCHAR(255) NOT NULL,
101
  createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
102
  updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
103
  FOREIGN KEY (subscription_code, category, report_criterias)
104
    REFERENCES solution_report_criterias(subscription_code, category, report_criterias)
105
    ON DELETE CASCADE ON UPDATE CASCADE
106
);
107

    
108
INSERT INTO solution_report_criterias_config (subscription_code, category, report_criterias, criteria) VALUES
109
-- Essential / market
110
('essential', 'market', 'essential-grade', 'grade'),
111
('essential', 'market', 'essential-collaborative_path', 'collaborative_path'),
112
('essential', 'market', 'essential-function_code-subfunction_code-collaborative_path', 'function_code'),
113
('essential', 'market', 'essential-function_code-subfunction_code-collaborative_path', 'subfunction_code'),
114
('essential', 'market', 'essential-function_code-subfunction_code-collaborative_path', 'collaborative_path'),
115
('essential', 'market', 'essential-function_code-subfunction_code-collaborative_path-grade', 'function_code'),
116
('essential', 'market', 'essential-function_code-subfunction_code-collaborative_path-grade', 'subfunction_code'),
117
('essential', 'market', 'essential-function_code-subfunction_code-collaborative_path-grade', 'collaborative_path'),
118
('essential', 'market', 'essential-function_code-subfunction_code-collaborative_path-grade', 'grade'),
119

    
120
-- On The Menu / market
121
('on_the_menu', 'market', 'on_the_menu-grade', 'grade'),
122
('on_the_menu', 'market', 'on_the_menu-collaborative_path', 'collaborative_path'),
123
('on_the_menu', 'market', 'on_the_menu-function_code-subfunction_code-collaborative_path', 'function_code'),
124
('on_the_menu', 'market', 'on_the_menu-function_code-subfunction_code-collaborative_path', 'subfunction_code'),
125
('on_the_menu', 'market', 'on_the_menu-function_code-subfunction_code-collaborative_path', 'collaborative_path'),
126
('on_the_menu', 'market', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'function_code'),
127
('on_the_menu', 'market', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'subfunction_code'),
128
('on_the_menu', 'market', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'collaborative_path'),
129
('on_the_menu', 'market', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'grade'),
130

    
131
-- On The Menu / personalized
132
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code', 'function_code'),
133
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code', 'subfunction_code'),
134
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path', 'function_code'),
135
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path', 'subfunction_code'),
136
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path', 'collaborative_path'),
137
('on_the_menu', 'personalized', 'on_the_menu-collaborative_path', 'collaborative_path'),
138
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'function_code'),
139
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'subfunction_code'),
140
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'collaborative_path'),
141
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'grade'),
142

    
143
-- Advanced / market
144
('advanced', 'market', 'advanced-grade', 'grade'),
145
('advanced', 'market', 'advanced-collaborative_path', 'collaborative_path'),
146
('advanced', 'market', 'advanced-function_code-subfunction_code-collaborative_path', 'function_code'),
147
('advanced', 'market', 'advanced-function_code-subfunction_code-collaborative_path', 'subfunction_code'),
148
('advanced', 'market', 'advanced-function_code-subfunction_code-collaborative_path', 'collaborative_path'),
149
('advanced', 'market', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'function_code'),
150
('advanced', 'market', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'subfunction_code'),
151
('advanced', 'market', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'collaborative_path'),
152
('advanced', 'market', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'grade'),
153

    
154
-- Advanced / personalized
155
('advanced', 'personalized', 'advanced-function_code-subfunction_code', 'function_code'),
156
('advanced', 'personalized', 'advanced-function_code-subfunction_code', 'subfunction_code'),
157
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path', 'function_code'),
158
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path', 'subfunction_code'),
159
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path', 'collaborative_path'),
160
('advanced', 'personalized', 'advanced-collaborative_path', 'collaborative_path'),
161
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'function_code'),
162
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'subfunction_code'),
163
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'collaborative_path'),
164
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'grade');
165

    
166
-- 4️ solution_report_charts
167
CREATE TABLE solution_report_charts (
168
  id INT AUTO_INCREMENT PRIMARY KEY,
169
  subscription_code VARCHAR(255) NOT NULL,
170
  category ENUM('market', 'personalized') NOT NULL,
171
  report_chart VARCHAR(255) NOT NULL,
172
  createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
173
  updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
174
  FOREIGN KEY (subscription_code, category)
175
    REFERENCES solution_reports_config_gaps(subscription_code, category)
176
    ON DELETE CASCADE ON UPDATE CASCADE
177
);
178

    
179
INSERT INTO solution_report_charts (subscription_code, category, report_chart) VALUES
180
-- On The Menu / personalized
181
('on_the_menu', 'personalized', 'gap_general'),
182
('on_the_menu', 'personalized', 'general_internal_gap_fixed'),
183

    
184
-- Advanced / personalized
185
('advanced', 'personalized', 'gap_general'),
186
('advanced', 'personalized', 'general_internal_gap_fixed');
187

    
188
-- 5️ solution_report_criterias_charts
189
CREATE TABLE solution_report_criterias_charts (
190
  id INT AUTO_INCREMENT PRIMARY KEY,
191
  subscription_code VARCHAR(255) NOT NULL,
192
  category ENUM('market', 'personalized') NOT NULL,
193
  report_criterias VARCHAR(255) NOT NULL,
194
  criteria VARCHAR(255) NOT NULL,
195
  createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
196
  updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
197
  FOREIGN KEY (subscription_code, category, report_criterias)
198
    REFERENCES solution_report_criterias(subscription_code, category, report_criterias)
199
    ON DELETE CASCADE ON UPDATE CASCADE
200
);
201

    
202
INSERT INTO solution_report_criterias_charts (subscription_code, category, report_criterias, criteria) VALUES
203
-- On The Menu / personalized
204
('on_the_menu', 'personalized', 'on_the_menu-collaborative_path', 'repartition_gap'),
205
('on_the_menu', 'personalized', 'on_the_menu-collaborative_path', 'repartition_data_bf'),
206
('on_the_menu', 'personalized', 'on_the_menu-collaborative_path', 'repartition_data_bt'),
207
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code', 'repartition_gap'),
208
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code', 'repartition_data_bf'),
209
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code', 'repartition_data_bt'),
210
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path', 'repartition_gap'),
211
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path', 'repartition_data_bf'),
212
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path', 'repartition_data_bt'),
213
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'repartition_gap'),
214
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'repartition_data_bf'),
215
('on_the_menu', 'personalized', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'repartition_data_bt'),
216

    
217
-- Advanced / personalized
218
('advanced', 'personalized', 'advanced-collaborative_path', 'repartition_gap'),
219
('advanced', 'personalized', 'advanced-collaborative_path', 'repartition_data_bf'),
220
('advanced', 'personalized', 'advanced-collaborative_path', 'repartition_data_bt'),
221
('advanced', 'personalized', 'advanced-function_code-subfunction_code', 'repartition_gap'),
222
('advanced', 'personalized', 'advanced-function_code-subfunction_code', 'repartition_data_bf'),
223
('advanced', 'personalized', 'advanced-function_code-subfunction_code', 'repartition_data_bt'),
224
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path', 'repartition_gap'),
225
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path', 'repartition_data_bf'),
226
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path', 'repartition_data_bt'),
227
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'repartition_gap'),
228
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'repartition_data_bf'),
229
('advanced', 'personalized', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'repartition_data_bt');
230

    
(8-8/8)