Skip to content

Commit c4b3668

Browse files
committed
Update table
1 parent 9466518 commit c4b3668

File tree

1 file changed

+158
-2
lines changed

1 file changed

+158
-2
lines changed

main.go

Lines changed: 158 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,14 +243,170 @@ func configurePostgreSQL(pgConfig *PostgreSQLConfig) (*sql.DB, error) {
243243

244244
// createTelemetryTable creates the telemetry_data table if it does not exist
245245
func createTelemetryTable(db *sql.DB) error {
246+
// Updated SQL query to include all fields from the protobuf definition
246247
createTableQuery := `
247248
CREATE TABLE IF NOT EXISTS telemetry_data (
248249
id SERIAL PRIMARY KEY,
249250
vin TEXT,
250251
key INTEGER,
251252
value JSONB,
252253
created_at TIMESTAMPTZ,
253-
UNIQUE (vin, key, created_at)
254+
drive_rail INTEGER,
255+
charge_state INTEGER,
256+
bms_fullchargecomplete BOOLEAN,
257+
vehicle_speed DOUBLE PRECISION,
258+
odometer DOUBLE PRECISION,
259+
pack_voltage DOUBLE PRECISION,
260+
pack_current DOUBLE PRECISION,
261+
soc DOUBLE PRECISION,
262+
dcdc_enable BOOLEAN,
263+
gear INTEGER,
264+
isolation_resistance DOUBLE PRECISION,
265+
pedal_position DOUBLE PRECISION,
266+
brake_pedal BOOLEAN,
267+
di_state_r INTEGER,
268+
di_heatsink_tr DOUBLE PRECISION,
269+
di_axle_speed_r DOUBLE PRECISION,
270+
di_torquemotor DOUBLE PRECISION,
271+
di_stator_temp_r DOUBLE PRECISION,
272+
di_vbat_r DOUBLE PRECISION,
273+
di_motor_current_r DOUBLE PRECISION,
274+
location_latitude DOUBLE PRECISION,
275+
location_longitude DOUBLE PRECISION,
276+
gps_state INTEGER,
277+
gps_heading DOUBLE PRECISION,
278+
num_brick_voltage_max INTEGER,
279+
brick_voltage_max DOUBLE PRECISION,
280+
num_brick_voltage_min INTEGER,
281+
brick_voltage_min DOUBLE PRECISION,
282+
num_module_temp_max INTEGER,
283+
module_temp_max DOUBLE PRECISION,
284+
num_module_temp_min INTEGER,
285+
module_temp_min DOUBLE PRECISION,
286+
rated_range DOUBLE PRECISION,
287+
hvil INTEGER,
288+
dc_charging_energy_in DOUBLE PRECISION,
289+
dc_charging_power DOUBLE PRECISION,
290+
ac_charging_energy_in DOUBLE PRECISION,
291+
ac_charging_power DOUBLE PRECISION,
292+
charge_limit_soc DOUBLE PRECISION,
293+
fast_charger_present BOOLEAN,
294+
est_battery_range DOUBLE PRECISION,
295+
ideal_battery_range DOUBLE PRECISION,
296+
battery_level DOUBLE PRECISION,
297+
time_to_full_charge DOUBLE PRECISION,
298+
scheduled_charging_start_time TIMESTAMPTZ,
299+
scheduled_charging_pending BOOLEAN,
300+
scheduled_departure_time TIMESTAMPTZ,
301+
preconditioning_enabled BOOLEAN,
302+
scheduled_charging_mode INTEGER,
303+
charge_amps DOUBLE PRECISION,
304+
charge_enable_request BOOLEAN,
305+
charger_phases INTEGER,
306+
charge_port_cold_weather_mode BOOLEAN,
307+
charge_current_request DOUBLE PRECISION,
308+
semitruck_tpms_pressure_re2r0 DOUBLE PRECISION,
309+
semitruck_tpms_pressure_re2r1 DOUBLE PRECISION,
310+
tpms_last_seen_pressure_time_fl TIMESTAMPTZ,
311+
tpms_last_seen_pressure_time_fr TIMESTAMPTZ,
312+
tpms_last_seen_pressure_time_rl TIMESTAMPTZ,
313+
tpms_last_seen_pressure_time_rr TIMESTAMPTZ,
314+
inside_temp DOUBLE PRECISION,
315+
outside_temp DOUBLE PRECISION,
316+
seat_heater_left BOOLEAN,
317+
seat_heater_right BOOLEAN,
318+
seat_heater_rear_left BOOLEAN,
319+
seat_heater_rear_right BOOLEAN,
320+
seat_heater_rear_center BOOLEAN,
321+
auto_seat_climate_left BOOLEAN,
322+
auto_seat_climate_right BOOLEAN,
323+
driver_seat_belt BOOLEAN,
324+
passenger_seat_belt BOOLEAN,
325+
driver_seat_occupied BOOLEAN,
326+
semitruck_passenger_seat_fold_position INTEGER,
327+
lateral_acceleration DOUBLE PRECISION,
328+
longitudinal_acceleration DOUBLE PRECISION,
329+
cruise_state INTEGER,
330+
cruise_set_speed DOUBLE PRECISION,
331+
lifetime_energy_used DOUBLE PRECISION,
332+
lifetime_energy_used_drive DOUBLE PRECISION,
333+
semitruck_tractor_park_brake_status BOOLEAN,
334+
semitruck_trailer_park_brake_status BOOLEAN,
335+
brake_pedal_pos DOUBLE PRECISION,
336+
route_last_updated TIMESTAMPTZ,
337+
route_line TEXT,
338+
miles_to_arrival DOUBLE PRECISION,
339+
minutes_to_arrival DOUBLE PRECISION,
340+
origin_location TEXT,
341+
destination_location TEXT,
342+
car_type INTEGER,
343+
trim TEXT,
344+
exterior_color TEXT,
345+
roof_color TEXT,
346+
charge_port INTEGER,
347+
charge_port_latch INTEGER,
348+
experimental_1 BOOLEAN,
349+
experimental_2 BOOLEAN,
350+
experimental_3 BOOLEAN,
351+
experimental_4 BOOLEAN,
352+
guest_mode_enabled BOOLEAN,
353+
pin_to_drive_enabled BOOLEAN,
354+
paired_phone_key_and_key_fob_qty INTEGER,
355+
cruise_follow_distance INTEGER,
356+
automatic_blind_spot_camera BOOLEAN,
357+
blind_spot_collision_warning_chime BOOLEAN,
358+
speed_limit_warning BOOLEAN,
359+
forward_collision_warning BOOLEAN,
360+
lane_departure_avoidance BOOLEAN,
361+
emergency_lane_departure_avoidance BOOLEAN,
362+
automatic_emergency_braking_off BOOLEAN,
363+
lifetime_energy_gained_regen DOUBLE PRECISION,
364+
di_state_f INTEGER,
365+
di_state_rel INTEGER,
366+
di_state_rer INTEGER,
367+
di_heatsink_tf DOUBLE PRECISION,
368+
di_heatsink_trel DOUBLE PRECISION,
369+
di_heatsink_trer DOUBLE PRECISION,
370+
di_axle_speed_f DOUBLE PRECISION,
371+
di_axle_speed_rel DOUBLE PRECISION,
372+
di_axle_speed_rer DOUBLE PRECISION,
373+
di_slave_torque_cmd DOUBLE PRECISION,
374+
di_torque_actual_r DOUBLE PRECISION,
375+
di_torque_actual_f DOUBLE PRECISION,
376+
di_torque_actual_rel DOUBLE PRECISION,
377+
di_torque_actual_rer DOUBLE PRECISION,
378+
di_stator_temp_f DOUBLE PRECISION,
379+
di_stator_temp_rel DOUBLE PRECISION,
380+
di_stator_temp_rer DOUBLE PRECISION,
381+
di_vbat_f DOUBLE PRECISION,
382+
di_vbat_rel DOUBLE PRECISION,
383+
di_vbat_rer DOUBLE PRECISION,
384+
di_motor_current_f DOUBLE PRECISION,
385+
di_motor_current_rel DOUBLE PRECISION,
386+
di_motor_current_rer DOUBLE PRECISION,
387+
energy_remaining DOUBLE PRECISION,
388+
service_mode BOOLEAN,
389+
bms_state INTEGER,
390+
guest_mode_mobile_access_state INTEGER,
391+
deprecated_1 BOOLEAN,
392+
destination_name TEXT,
393+
di_inverter_tr DOUBLE PRECISION,
394+
di_inverter_tf DOUBLE PRECISION,
395+
di_inverter_trel DOUBLE PRECISION,
396+
di_inverter_trer DOUBLE PRECISION,
397+
experimental_5 BOOLEAN,
398+
experimental_6 BOOLEAN,
399+
experimental_7 BOOLEAN,
400+
experimental_8 BOOLEAN,
401+
experimental_9 BOOLEAN,
402+
experimental_10 BOOLEAN,
403+
experimental_11 BOOLEAN,
404+
experimental_12 BOOLEAN,
405+
experimental_13 BOOLEAN,
406+
experimental_14 BOOLEAN,
407+
experimental_15 BOOLEAN,
408+
detailed_charge_state INTEGER,
409+
UNIQUE (vin, key, created_at)
254410
);
255411
`
256412
_, err := db.Exec(createTableQuery)
@@ -471,7 +627,7 @@ func insertTelemetryData(db *sql.DB, vin string, datum *protos.Datum, createdAt
471627
`
472628

473629
// Convert Datum to SQL values
474-
values := make([]interface{}, 179)
630+
values := make([]interface{}, 179) // Ensure this matches the number of columns
475631
values[0] = vin
476632
values[1] = createdAt
477633

0 commit comments

Comments
 (0)