feat: expand vehicle data platform capabilities

This commit is contained in:
lingniu
2026-07-27 16:46:15 +08:00
parent e3a1f80f86
commit 3c4bece72c
650 changed files with 62155 additions and 2552 deletions

View File

@@ -0,0 +1,22 @@
-- Add first-class automation trigger semantics without breaking existing metric rules.
ALTER TABLE vehicle_alert_rule
ADD COLUMN trigger_type VARCHAR(24) NOT NULL DEFAULT 'metric' AFTER description,
ADD COLUMN fence_name VARCHAR(80) NOT NULL DEFAULT '' AFTER trigger_type,
ADD COLUMN fence_longitude DOUBLE NOT NULL DEFAULT 0 AFTER fence_name,
ADD COLUMN fence_latitude DOUBLE NOT NULL DEFAULT 0 AFTER fence_longitude,
ADD COLUMN fence_radius_m DOUBLE NOT NULL DEFAULT 0 AFTER fence_latitude;
ALTER TABLE vehicle_alert_event
ADD COLUMN trigger_type VARCHAR(24) NOT NULL DEFAULT 'metric' AFTER severity;
CREATE INDEX idx_alert_rule_trigger_type ON vehicle_alert_rule(trigger_type, enabled);
CREATE INDEX idx_alert_event_trigger_type ON vehicle_alert_event(trigger_type, triggered_at);
-- Preserve the business meaning of rules that existed before trigger_type.
UPDATE vehicle_alert_rule
SET trigger_type = CASE
WHEN metric = 'freshness_sec' THEN 'offline'
WHEN metric = 'speed_kmh' AND operator IN ('lt','lte') AND duration_sec >= 300 THEN 'stationary'
ELSE 'metric'
END
WHERE trigger_type = 'metric';