Projet

Général

Profil

DATABASE (V24) » diff_stag_Prod.sql

ahlem belgacem, 12/12/2025 15:42

 
1

    
2
-- add author
3
ALTER TABLE salarymarket.company_reports
4
ADD COLUMN createdBy INT  NULL,
5
ADD CONSTRAINT fk_createdBy
6
    FOREIGN KEY (createdBy) REFERENCES salarymarket.company_users(id)
7
    ON DELETE CASCADE
8
    ON UPDATE CASCADE;
9
    
10
-- createdFrom (espace client or admin)
11
ALTER TABLE company_reports
12
ADD COLUMN createdFrom ENUM('admin', 'client') 
13
DEFAULT 'admin' NOT NULL;
14

    
15
-- 1️ Add 'matricule'
16
use salarymarket;
17
ALTER TABLE solution_reports_config_gaps MODIFY category ENUM('market', 'personalized', 'matricule') NOT NULL;
18
ALTER TABLE solution_report_criterias MODIFY category ENUM('market', 'personalized', 'matricule') NOT NULL;
19
ALTER TABLE solution_report_criterias_config MODIFY category ENUM('market', 'personalized', 'matricule') NOT NULL;
20
ALTER TABLE solution_report_charts MODIFY category ENUM('market', 'personalized', 'matricule') NOT NULL;
21
ALTER TABLE solution_report_criterias_charts MODIFY category ENUM('market', 'personalized', 'matricule') NOT NULL;
22
ALTER TABLE company_reports MODIFY category ENUM('market', 'personalized', 'matricule') NOT NULL;
23
-- 2️ INSERTS WITH category = 'matricule'
24
-- solution_reports_config_gaps
25
INSERT INTO solution_reports_config_gaps (subscription_code, category, gap) VALUES 
26
('advanced', 'matricule', true),
27
('on_the_menu', 'matricule', true);
28
-- solution_report_criterias
29
INSERT INTO solution_report_criterias (subscription_code, category, report_criterias) VALUES
30
-- On The Menu / matricule
31
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade'),
32
-- Advanced / matricule
33
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade');
34
-- solution_report_criterias_config
35
INSERT INTO solution_report_criterias_config 
36
  (subscription_code, category, report_criterias, criteria) 
37
VALUES
38
-- On The Menu / matricule
39
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'function_code'),
40
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'subfunction_code'),
41
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'collaborative_path'),
42
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'grade'),
43
-- Advanced / matricule
44
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'function_code'),
45
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'subfunction_code'),
46
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'collaborative_path'),
47
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade', 'grade');
48
-- solution_report_charts
49
INSERT INTO solution_report_charts (subscription_code, category, report_chart) VALUES
50
-- On The Menu / matricule
51
('on_the_menu', 'matricule', 'gap_general'),
52
('on_the_menu', 'matricule', 'general_internal_gap_fixed'),
53
-- Advanced / matricule
54
('advanced', 'matricule', 'gap_general'),
55
('advanced', 'matricule', 'general_internal_gap_fixed');
56
-- solution_report_criterias_charts
57
INSERT INTO solution_report_criterias_charts 
58
(subscription_code, category, report_criterias, criteria) VALUES
59
-- On The Menu / matricule
60
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'repartition_gap'),
61
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'repartition_data_bf'),
62
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade', 'repartition_data_bt'),
63
-- Advanced / matricule  
64
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade','repartition_gap'),
65
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade','repartition_data_bf'),
66
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade','repartition_data_bt');
67
-- ===============================================
68
-- 6️: solution_report_colunum_associe_condition + solution_report_display_columns
69
-- ===============================================
70
CREATE TABLE solution_report_colunum_associe_condition (
71
  id INT AUTO_INCREMENT PRIMARY KEY,
72
  subscription_code VARCHAR(255) NOT NULL,
73
  category ENUM('market', 'personalized', 'matricule') NOT NULL,
74
  report_criterias VARCHAR(255) NOT NULL,
75
  column_name VARCHAR(255) NOT NULL,
76
  createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
77
  updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
78
  FOREIGN KEY (subscription_code, category, report_criterias)
79
    REFERENCES solution_report_criterias_config(subscription_code, category, report_criterias)
80
    ON DELETE CASCADE
81
    ON UPDATE CASCADE
82
);
83
CREATE TABLE solution_report_colunum_other_display (
84
  id INT AUTO_INCREMENT PRIMARY KEY,
85
  subscription_code VARCHAR(255) NOT NULL,
86
  category ENUM('market', 'personalized', 'matricule') NOT NULL,
87
  report_criterias VARCHAR(255) NOT NULL,
88
  column_name VARCHAR(255) NOT NULL,
89
  createdAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
90
  updatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
91
  FOREIGN KEY (subscription_code, category, report_criterias)
92
    REFERENCES solution_report_criterias_config(subscription_code, category, report_criterias)
93
    ON DELETE CASCADE
94
    ON UPDATE CASCADE
95
);
96
INSERT into  solution_report_colunum_associe_condition (subscription_code, category,report_criterias,column_name) VALUES
97
--  on_the_menu/advanced
98
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade','matricule'),
99
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade','matricule');
100
INSERT INTO solution_report_colunum_other_display (subscription_code, category,report_criterias,column_name) VALUES
101
-- for department
102
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade','department'),
103
-- for function
104
('on_the_menu', 'matricule', 'on_the_menu-function_code-subfunction_code-collaborative_path-grade',  'function');
105
INSERT INTO solution_report_colunum_other_display (subscription_code, category,report_criterias, column_name) VALUES
106
-- Advanced / matricule
107
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade','department'),
108
('advanced', 'matricule', 'advanced-function_code-subfunction_code-collaborative_path-grade','function');
109
-- add  
110
ALTER TABLE solution_report_criterias_config
111
ADD COLUMN best_matching BOOLEAN DEFAULT FALSE;
112
UPDATE solution_report_criterias_config
113
SET best_matching = TRUE
114
WHERE (subscription_code = 'advanced' AND category = 'matricule')
115
   OR (subscription_code = 'on_the_menu' AND category = 'matricule');
    (1-1/1)