Restore complete Drift table definitions required by database and tests, preserving stable cloud ride identity
This commit is contained in:
parent
371b8f730e
commit
8794c4c517
|
|
@ -2,10 +2,7 @@ import 'package:drift/drift.dart';
|
|||
|
||||
class Rides extends Table {
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
/// Stable MotorCloud identity. Generated once when a ride is created and
|
||||
/// preserved across local database IDs, reinstalls/restores, and sync retries.
|
||||
/// Uniqueness is enforced by the database migration/index rather than the
|
||||
/// generated Drift declaration so older generated code remains upgrade-safe.
|
||||
/// Stable MotorCloud identity preserved across local IDs, reinstalls, and sync retries.
|
||||
TextColumn get cloudRideId => text().nullable()();
|
||||
DateTimeColumn get startTime => dateTime()();
|
||||
DateTimeColumn get endTime => dateTime().nullable()();
|
||||
|
|
@ -147,7 +144,66 @@ class FieldTestSummaries extends Table {
|
|||
RealColumn get validPercentage => real().withDefault(const Constant(0.0))();
|
||||
RealColumn get suspectPercentage => real().withDefault(const Constant(0.0))();
|
||||
RealColumn get rejectedPercentage => real().withDefault(const Constant(0.0))();
|
||||
RealColumn get rideQualityScore => real().withDefault(const Constant(100.0))();
|
||||
TextColumn get rideQualityRating => text().withDefault(const Constant('EXCELLENT'))();
|
||||
TextColumn get summaryJson => text().nullable()();
|
||||
IntColumn get gpsFixCount => integer().withDefault(const Constant(0))();
|
||||
IntColumn get gpsStaleEventCount => integer().withDefault(const Constant(0))();
|
||||
IntColumn get gpsJumpRejectCount => integer().withDefault(const Constant(0))();
|
||||
IntColumn get maxGpsAgeMs => integer().nullable()();
|
||||
RealColumn get averageGpsAccuracy => real().nullable()();
|
||||
RealColumn get worstGpsAccuracy => real().nullable()();
|
||||
IntColumn get telemetryGapCount => integer().withDefault(const Constant(0))();
|
||||
IntColumn get maxTelemetryGapMs => integer().nullable()();
|
||||
IntColumn get imuSaturationCount => integer().withDefault(const Constant(0))();
|
||||
RealColumn get maxSpeedMph => real().nullable()();
|
||||
RealColumn get maxLeanAngle => real().nullable()();
|
||||
RealColumn get maxLongitudinalG => real().nullable()();
|
||||
RealColumn get maxLateralG => real().nullable()();
|
||||
IntColumn get accelerationEventCount => integer().withDefault(const Constant(0))();
|
||||
IntColumn get brakingEventCount => integer().withDefault(const Constant(0))();
|
||||
IntColumn get zeroTo60Count => integer().withDefault(const Constant(0))();
|
||||
IntColumn get zeroTo100Count => integer().withDefault(const Constant(0))();
|
||||
RealColumn get bestZeroTo60 => real().nullable()();
|
||||
RealColumn get bestZeroTo100 => real().nullable()();
|
||||
IntColumn get databaseSamplesWritten => integer().withDefault(const Constant(0))();
|
||||
IntColumn get databaseSamplesLost => integer().withDefault(const Constant(0))();
|
||||
IntColumn get eventCount => integer().withDefault(const Constant(0))();
|
||||
RealColumn get overallConfidence => real().nullable()();
|
||||
IntColumn get rideQualityScore => integer().withDefault(const Constant(0))();
|
||||
TextColumn get rideQualityRating => text().withDefault(const Constant('INVALID'))();
|
||||
BoolColumn get wasRecoveredAfterCrash => boolean().withDefault(const Constant(false))();
|
||||
BoolColumn get wasInterrupted => boolean().withDefault(const Constant(false))();
|
||||
TextColumn get exportIntegrity => text().nullable()();
|
||||
}
|
||||
|
||||
class FieldTestGpsRecords extends Table {
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
IntColumn get sessionId => integer().references(FieldTestSessions, #id)();
|
||||
DateTimeColumn get timestamp => dateTime()();
|
||||
RealColumn get latitude => real()();
|
||||
RealColumn get longitude => real()();
|
||||
RealColumn get altitude => real().nullable()();
|
||||
RealColumn get rawSpeed => real().nullable()();
|
||||
RealColumn get filteredSpeed => real().nullable()();
|
||||
RealColumn get heading => real().nullable()();
|
||||
RealColumn get accuracy => real().nullable()();
|
||||
TextColumn get gpsHealth => text()();
|
||||
BoolColumn get accepted => boolean()();
|
||||
TextColumn get rejectionReason => text().nullable()();
|
||||
}
|
||||
|
||||
class FieldTestImuRecords extends Table {
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
IntColumn get sessionId => integer().references(FieldTestSessions, #id)();
|
||||
DateTimeColumn get timestamp => dateTime()();
|
||||
RealColumn get accelerometerX => real().nullable()();
|
||||
RealColumn get accelerometerY => real().nullable()();
|
||||
RealColumn get accelerometerZ => real().nullable()();
|
||||
RealColumn get gyroX => real().nullable()();
|
||||
RealColumn get gyroY => real().nullable()();
|
||||
RealColumn get gyroZ => real().nullable()();
|
||||
RealColumn get roll => real().nullable()();
|
||||
RealColumn get pitch => real().nullable()();
|
||||
RealColumn get longitudinalG => real().nullable()();
|
||||
RealColumn get lateralG => real().nullable()();
|
||||
RealColumn get filteredLongitudinalG => real().nullable()();
|
||||
RealColumn get filteredLateralG => real().nullable()();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue