1+ ALTER TABLE charge_box
2+ ADD COLUMN security_profile INT DEFAULT 0 ,
3+ ADD COLUMN auth_password VARCHAR (500 ) DEFAULT NULL ;
4+
5+ CREATE TABLE IF NOT EXISTS charge_box_security_event (
6+ charge_box_pk INT NOT NULL ,
7+ ` type` VARCHAR (100 ) NOT NULL ,
8+ ` timestamp` TIMESTAMP NOT NULL ,
9+ tech_info VARCHAR (500 ),
10+ event_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
11+
12+ FOREIGN KEY (charge_box_pk) REFERENCES charge_box (charge_box_pk) ON DELETE CASCADE ,
13+ INDEX idx_charge_box_pk (charge_box_pk),
14+ INDEX idx_type (` type` ),
15+ INDEX idx_timestamp (` timestamp` )
16+ );
17+
18+ CREATE TABLE IF NOT EXISTS charge_box_firmware_update_job (
19+ job_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
20+
21+ firmware_location VARCHAR (1000 ) NOT NULL ,
22+ retrieve_datetime TIMESTAMP NULL DEFAULT NULL ,
23+ install_datetime TIMESTAMP NULL DEFAULT NULL ,
24+ signing_certificate MEDIUMTEXT,
25+ signature MEDIUMTEXT,
26+
27+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
28+ );
29+
30+ CREATE TABLE IF NOT EXISTS charge_box_firmware_update_status (
31+ job_id INT NOT NULL ,
32+ charge_box_pk INT NOT NULL ,
33+
34+ event_status VARCHAR (100 ) NOT NULL ,
35+ event_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
36+
37+ FOREIGN KEY (job_id) REFERENCES charge_box_firmware_update_job (job_id) ON DELETE CASCADE ,
38+ FOREIGN KEY (charge_box_pk) REFERENCES charge_box (charge_box_pk) ON DELETE CASCADE ,
39+
40+ INDEX idx_job_id (job_id),
41+ INDEX idx_charge_box_pk (charge_box_pk),
42+ INDEX idx_event_status (event_status),
43+ INDEX idx_event_timestamp (event_timestamp)
44+ );
45+
46+ CREATE TABLE IF NOT EXISTS charge_box_log_upload_job (
47+ job_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
48+
49+ log_type VARCHAR (100 ) NOT NULL ,
50+ remote_location VARCHAR (1000 ),
51+ oldest_timestamp TIMESTAMP NULL DEFAULT NULL ,
52+ latest_timestamp TIMESTAMP NULL DEFAULT NULL ,
53+
54+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
55+ );
56+
57+ CREATE TABLE IF NOT EXISTS charge_box_log_upload_status (
58+ job_id INT NOT NULL ,
59+ charge_box_pk INT NOT NULL ,
60+
61+ event_status VARCHAR (100 ) NOT NULL ,
62+ event_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
63+
64+ FOREIGN KEY (job_id) REFERENCES charge_box_log_upload_job (job_id) ON DELETE CASCADE ,
65+ FOREIGN KEY (charge_box_pk) REFERENCES charge_box (charge_box_pk) ON DELETE CASCADE ,
66+
67+ INDEX idx_job_id (job_id),
68+ INDEX idx_charge_box_pk (charge_box_pk),
69+ INDEX idx_event_status (event_status),
70+ INDEX idx_event_timestamp (event_timestamp)
71+ );
72+
73+ --
74+ -- TODO: This table will be reviewed later.
75+ --
176CREATE TABLE IF NOT EXISTS certificate (
277 certificate_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
378 charge_box_pk INT ,
@@ -18,63 +93,3 @@ CREATE TABLE IF NOT EXISTS certificate (
1893 INDEX idx_status (status),
1994 INDEX idx_serial_number (serial_number)
2095);
21-
22- CREATE TABLE IF NOT EXISTS security_event (
23- event_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
24- charge_box_pk INT NOT NULL ,
25- event_type VARCHAR (100 ) NOT NULL ,
26- event_timestamp TIMESTAMP NOT NULL ,
27- tech_info MEDIUMTEXT,
28- severity VARCHAR (20 ) NOT NULL ,
29- received_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
30- CONSTRAINT FK_security_event_charge_box FOREIGN KEY (charge_box_pk) REFERENCES charge_box (charge_box_pk) ON DELETE CASCADE ,
31- INDEX idx_charge_box_pk (charge_box_pk),
32- INDEX idx_event_type (event_type),
33- INDEX idx_event_timestamp (event_timestamp),
34- INDEX idx_severity (severity)
35- );
36-
37- CREATE TABLE IF NOT EXISTS log_file (
38- log_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
39- charge_box_pk INT NOT NULL ,
40- log_type VARCHAR (50 ) NOT NULL ,
41- request_id INT NOT NULL ,
42- request_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
43- file_path VARCHAR (1000 ),
44- upload_status VARCHAR (50 ) DEFAULT ' Pending' ,
45- upload_timestamp TIMESTAMP NULL DEFAULT NULL ,
46- bytes_uploaded BIGINT ,
47- CONSTRAINT FK_log_file_charge_box FOREIGN KEY (charge_box_pk) REFERENCES charge_box (charge_box_pk) ON DELETE CASCADE ,
48- INDEX idx_charge_box_pk (charge_box_pk),
49- INDEX idx_log_type (log_type),
50- INDEX idx_request_id (request_id),
51- INDEX idx_upload_status (upload_status)
52- );
53-
54- CREATE TABLE IF NOT EXISTS firmware_update (
55- update_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
56- charge_box_pk INT NOT NULL ,
57- firmware_location VARCHAR (1000 ) NOT NULL ,
58- firmware_signature MEDIUMTEXT,
59- retrieve_date TIMESTAMP NULL DEFAULT NULL ,
60- install_date TIMESTAMP NULL DEFAULT NULL ,
61- signing_certificate MEDIUMTEXT,
62- signature_algorithm VARCHAR (100 ),
63- request_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
64- status VARCHAR (50 ) DEFAULT ' Pending' ,
65- CONSTRAINT FK_firmware_update_charge_box FOREIGN KEY (charge_box_pk) REFERENCES charge_box (charge_box_pk) ON DELETE CASCADE ,
66- INDEX idx_charge_box_pk (charge_box_pk),
67- INDEX idx_status (status),
68- INDEX idx_retrieve_date (retrieve_date)
69- );
70-
71- ALTER TABLE charge_box ADD COLUMN security_profile INT DEFAULT 0 ;
72- ALTER TABLE charge_box ADD COLUMN authorization_key VARCHAR (100 );
73- ALTER TABLE charge_box ADD COLUMN cpo_name VARCHAR (255 );
74- ALTER TABLE charge_box ADD COLUMN certificate_store_max_length INT DEFAULT 0 ;
75- ALTER TABLE charge_box ADD COLUMN additional_root_certificate_check BOOLEAN DEFAULT FALSE;
76- ALTER TABLE charge_box
77- ADD COLUMN auth_password VARCHAR (255 ) DEFAULT NULL
78- COMMENT ' BCrypt hashed password for Basic Authentication' ;
79-
80- CREATE INDEX idx_charge_box_auth ON charge_box(charge_box_id, auth_password);
0 commit comments