feat: ✨ added broken map for supporting multiple tracks (will likely get removed) and added colorless rendering for tracks in point cloud
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 47s
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 47s
This commit is contained in:
@@ -6,7 +6,6 @@ from sqlalchemy.exc import OperationalError
|
||||
|
||||
Base = declarative_base()
|
||||
|
||||
# TODO: build license plate into car api construct and rebuild api to fit new data
|
||||
# Funktion zur Herstellung einer Verbindung zur Datenbank
|
||||
def db_connect():
|
||||
try:
|
||||
@@ -30,20 +29,23 @@ def create_table(engine):
|
||||
except Exception as e:
|
||||
print(f"Fehler bei der Tabellenerstellung: {e}")
|
||||
|
||||
# Track-Tabelle
|
||||
class Track(Base):
|
||||
__tablename__ = 'track'
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
trackName = Column(String(200), nullable=True)
|
||||
vehicle_id = Column(Integer, ForeignKey('vehicle.id'), nullable=False, default=1)
|
||||
driver_id = Column(Integer, ForeignKey('driver.id'), nullable=False, default=1)
|
||||
vehicle_id = Column(Integer, ForeignKey('vehicle.id'), nullable=False)
|
||||
driver_id = Column(Integer, ForeignKey('driver.id'), nullable=False)
|
||||
date = Column(Date, nullable=True)
|
||||
distance = Column(Float, nullable=False, default=0)
|
||||
speed = Column(Float, nullable=False, default=0)
|
||||
|
||||
driver = relationship("Driver", backref="vehicle_tracks") # 'vehicle_tracks' als backref
|
||||
vehicle = relationship("Vehicle", backref="driver_tracks") # 'driver_tracks' als backref
|
||||
waypoints = relationship('Waypoint', backref='track', lazy=True)
|
||||
distance = Column(Float, nullable=False, default=0.0)
|
||||
speed = Column(Float, nullable=False, default=0.0)
|
||||
|
||||
# Beziehungen
|
||||
driver = relationship("Driver", back_populates="tracks", foreign_keys=[driver_id])
|
||||
vehicle = relationship("Vehicle", back_populates="tracks", foreign_keys=[vehicle_id])
|
||||
waypoints = relationship('Waypoint', back_populates='track', lazy=True)
|
||||
|
||||
# Waypoint-Tabelle
|
||||
class Waypoint(Base):
|
||||
__tablename__ = 'waypoint'
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
@@ -54,16 +56,24 @@ class Waypoint(Base):
|
||||
time = Column(DateTime, nullable=True)
|
||||
track_id = Column(Integer, ForeignKey('track.id'), nullable=False)
|
||||
|
||||
# Beziehung zu Track
|
||||
track = relationship("Track", back_populates="waypoints")
|
||||
|
||||
# Driver-Tabelle
|
||||
class Driver(Base):
|
||||
__tablename__ = 'driver'
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
name = Column(String, nullable=False)
|
||||
tracks = relationship("Track", back_populates="driver") # Beziehung von Track -> Driver
|
||||
|
||||
# Beziehung zu Tracks
|
||||
tracks = relationship("Track", back_populates="driver", overlaps="vehicle_tracks")
|
||||
|
||||
# Vehicle-Tabelle
|
||||
class Vehicle(Base):
|
||||
__tablename__ = 'vehicle'
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
name = Column(String, nullable=False)
|
||||
tracks = relationship("Track", back_populates="vehicle") # Beziehung von Track -> Vehicle
|
||||
licenseplate = Column(String, nullable=True)
|
||||
|
||||
# Beziehung zu Tracks
|
||||
tracks = relationship("Track", back_populates="vehicle", overlaps="driver_tracks")
|
||||
|
||||
Reference in New Issue
Block a user