import 'package:drift/drift.dart'; class Rides extends Table { IntColumn get id => integer().autoIncrement()(); DateTimeColumn get startTime => dateTime()(); DateTimeColumn get endTime => dateTime().nullable()(); RealColumn get distanceMiles => real().withDefault(const Constant(0.0))(); RealColumn get topSpeedMph => real().withDefault(const Constant(0.0))(); RealColumn get maxLeanLeft => real().withDefault(const Constant(0.0))(); RealColumn get maxLeanRight => real().withDefault(const Constant(0.0))(); RealColumn get maxAccelG => real().withDefault(const Constant(0.0))(); RealColumn get maxBrakingG => real().withDefault(const Constant(0.0))(); RealColumn get best0to60Ms => real().nullable()(); RealColumn get best0to100Ms => real().nullable()(); } class PerformanceRuns extends Table { IntColumn get id => integer().autoIncrement()(); IntColumn get rideId => integer().references(Rides, #id).nullable()(); TextColumn get type => text()(); // "0-60" or "0-100" RealColumn get timeMs => real()(); RealColumn get topSpeedReached => real()(); DateTimeColumn get timestamp => dateTime()(); }