24 lines
1.0 KiB
SQL
24 lines
1.0 KiB
SQL
CREATE TABLE IF NOT EXISTS failure_events (
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
source VARCHAR(64) NOT NULL,
|
|
external_id VARCHAR(255) NOT NULL,
|
|
component_id BIGINT NOT NULL,
|
|
asset_id BIGINT NULL,
|
|
failure_type VARCHAR(128) NOT NULL,
|
|
failure_time TIMESTAMP NOT NULL,
|
|
details TEXT NULL,
|
|
confidence DECIMAL(5,2) NULL,
|
|
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT fk_failure_events_component
|
|
FOREIGN KEY (component_id) REFERENCES components(id)
|
|
ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
CONSTRAINT fk_failure_events_asset
|
|
FOREIGN KEY (asset_id) REFERENCES assets(id)
|
|
ON DELETE SET NULL ON UPDATE CASCADE,
|
|
UNIQUE KEY uniq_failure_events_source_external (source, external_id)
|
|
);
|
|
|
|
CREATE INDEX idx_failure_events_component_time ON failure_events(component_id, failure_time, id);
|
|
CREATE INDEX idx_failure_events_asset_time ON failure_events(asset_id, failure_time, id);
|
|
CREATE INDEX idx_failure_events_time ON failure_events(failure_time, id);
|