21 lines
806 B
Go
21 lines
806 B
Go
package stats
|
|
|
|
const DailyMetricTableSQL = `CREATE TABLE IF NOT EXISTS vehicle_daily_metric (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
vin VARCHAR(32) NOT NULL,
|
|
stat_date DATE NOT NULL,
|
|
protocol VARCHAR(32) NOT NULL,
|
|
metric_key VARCHAR(64) NOT NULL,
|
|
metric_value DECIMAL(18,3) NOT NULL,
|
|
metric_unit VARCHAR(16) NOT NULL,
|
|
first_total_mileage_km DECIMAL(18,3) NULL,
|
|
latest_total_mileage_km DECIMAL(18,3) NULL,
|
|
sample_count BIGINT NOT NULL DEFAULT 0,
|
|
calculation_method VARCHAR(64) NOT NULL,
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
UNIQUE KEY uk_daily_metric (vin, stat_date, protocol, metric_key),
|
|
KEY idx_stat_date (stat_date),
|
|
KEY idx_protocol_metric (protocol, metric_key)
|
|
)`
|