ogn-python/ogn/model/logbook.py

35 wiersze
1.3 KiB
Python

from sqlalchemy import Integer, DateTime, Interval, Column, ForeignKey
from sqlalchemy.orm import relationship
from .base import Base
from sqlalchemy.sql.schema import UniqueConstraint
class Logbook(Base):
__tablename__ = 'logbook'
__table_args__ = (UniqueConstraint('reftime',
'takeoff_airport_id',
'landing_airport_id',
'device_id'),
)
id = Column(Integer, primary_key=True)
reftime = Column(DateTime, index=True)
takeoff_timestamp = Column(DateTime)
takeoff_track = Column(Integer)
landing_timestamp = Column(DateTime)
landing_track = Column(Integer)
duration = Column(Interval)
max_altitude = Column(Integer)
# Relations
takeoff_airport_id = Column(Integer, ForeignKey('airport.id', ondelete='CASCADE'), index=True)
takeoff_airport = relationship('Airport', foreign_keys=[takeoff_airport_id])
landing_airport_id = Column(Integer, ForeignKey('airport.id', ondelete='CASCADE'), index=True)
landing_airport = relationship('Airport', foreign_keys=[landing_airport_id])
device_id = Column(Integer, ForeignKey('device.id', ondelete='CASCADE'), index=True)
device = relationship('Device', foreign_keys=[device_id])