initial commit
This commit is contained in:
48
sqlpage/migrations/0001_create_tables.sql
Normal file
48
sqlpage/migrations/0001_create_tables.sql
Normal file
@@ -0,0 +1,48 @@
|
||||
CREATE TABLE severity (
|
||||
id INTEGER PRIMARY KEY,
|
||||
name NOT NULL,
|
||||
weight INTEGER NOT NULL,
|
||||
color NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO severity VALUES (1, 'severe', 100, 'orange');
|
||||
INSERT INTO severity VALUES (2, 'blocking', 200, 'red');
|
||||
INSERT INTO severity VALUES (3, 'maintenance', 1000, 'blue');
|
||||
|
||||
CREATE TABLE application (
|
||||
id INTEGER PRIMARY KEY,
|
||||
name TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE incident (
|
||||
id INTEGER PRIMARY KEY,
|
||||
title NOT NULL,
|
||||
description NOT NULL,
|
||||
estimated_duration NOT NULL,
|
||||
who_is_affected NOT NULL,
|
||||
date_time DATETIME NOT NULL,
|
||||
severity INTEGER NOT NULL REFERENCES severity(id),
|
||||
status CHECK(status IN ('DETECTION', 'ANALYSIS', 'RESOLUTION', 'CLOSED')) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE incident_info(
|
||||
id INTEGER PRIMARY KEY,
|
||||
incident_id INTEGER NOT NULL REFERENCES incident(id),
|
||||
description NOT NULL,
|
||||
status CHECK(status IN ('DETECTION', 'ANALYSIS', 'RESOLUTION', 'CLOSED')) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE incident_application (
|
||||
incident_id INTEGER NOT NULL REFERENCES incident(id),
|
||||
application_id INTEGER NOT NULL REFERENCES application(id),
|
||||
PRIMARY KEY (incident_id,application_id)
|
||||
) WITHOUT ROWID;
|
||||
|
||||
CREATE VIEW application_status AS
|
||||
SELECT a.name, s.name as severity, i.title AS incident_title, MAX(s.WEIGHT), s.color AS severity_color FROM application a
|
||||
LEFT JOIN incident_application ia ON a.id = ia.application_id
|
||||
LEFT JOIN incident i ON ia.incident_id = i.id
|
||||
AND i.status <> 'CLOSED'
|
||||
LEFT JOIN severity s ON i.severity = s.id
|
||||
GROUP BY a.name
|
||||
;
|
||||
18
sqlpage/migrations/0002_create_dummy_data.sql
Normal file
18
sqlpage/migrations/0002_create_dummy_data.sql
Normal file
@@ -0,0 +1,18 @@
|
||||
INSERT INTO application (id,name) VALUES (1,'incident management system');
|
||||
INSERT INTO application (id,name) VALUES (2,'coffee machine');
|
||||
INSERT INTO application (id,name) VALUES (3,'web site');
|
||||
INSERT INTO application (id,name) VALUES (4,'internet');
|
||||
|
||||
INSERT INTO incident (id,title,description,estimated_duration,who_is_affected,date_time,severity, status)
|
||||
VALUES (1,"incident system down", "incident management system is down", '2h','everyone','2025-04-01 10:15', 2, 'ANALYSIS');
|
||||
INSERT INTO incident (id,title,description,estimated_duration,who_is_affected,date_time,severity, status)
|
||||
VALUES (2,"network issue", "there is a network issue impacting performance", '2h','everyone','2025-04-01 14:15', 1, 'DETECTION');
|
||||
INSERT INTO incident (id,title,description,estimated_duration,who_is_affected,date_time,severity, status)
|
||||
VALUES (3,"slowness", "general slowness", '2h','everyone','2025-04-01 07:15', 1, 'CLOSED');
|
||||
|
||||
INSERT INTO incident_application(incident_id, application_id) VALUES (1,1);
|
||||
INSERT INTO incident_application(incident_id, application_id) VALUES (2,1);
|
||||
INSERT INTO incident_application(incident_id, application_id) VALUES (2,3);
|
||||
INSERT INTO incident_application(incident_id, application_id) VALUES (2,4);
|
||||
INSERT INTO incident_application(incident_id, application_id) VALUES (3,2);
|
||||
|
||||
Reference in New Issue
Block a user