示例#1
0
class Status(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    flight_id = db.Column(db.Integer,
                          db.ForeignKey('flight.id'),
                          nullable=False)
    crew_id = db.Column(db.Integer, db.ForeignKey('crew.id'), nullable=False)
    from_terminal = db.Column(db.Integer, nullable=False)
    to_terminal = db.Column(db.Integer, nullable=False)
    scheduled_time = db.Column(db.DateTime, nullable=False)
    actual_time = db.Column(db.DateTime)

    def __repr__(self):
        return f"Status('{self.flight_id}', '{self.crew_id}', '{self.from_terminal}', '{self.to_terminal}', '{self.scheduled_time}', '{self.actual_time}')"
示例#2
0
class Booking(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    flight_id = db.Column(db.Integer,
                          db.ForeignKey('flight.id'),
                          nullable=False)
    name = db.Column(db.String(100), nullable=False)
    age = db.Column(db.Integer, nullable=False)
    email = db.Column(db.String(100), nullable=False)
    travel_date = db.Column(db.Date, nullable=False)
    seat_no = db.Column(db.Integer, nullable=False)
    booking_time = db.Column(db.DateTime,
                             nullable=False,
                             server_default=func.now())

    def __repr__(self):
        return f"Booking('{self.id}', '{self.user_id}', '{self.flight_id}', '{self.seat_no}', '{self.travel_date}')"
示例#3
0
class Flight(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    plane_id = db.Column(db.Integer,
                         db.ForeignKey('plane.id'),
                         nullable=False,
                         unique=True)
    from_id = db.Column(db.Integer,
                        db.ForeignKey('airport.id'),
                        nullable=False)
    to_id = db.Column(db.Integer, db.ForeignKey('airport.id'), nullable=False)
    day = db.Column(db.String(15), nullable=False)
    depart_at = db.Column(db.Time, nullable=False)
    duration = db.Column(db.Time, nullable=False)
    bookings = db.relationship('Booking', backref='flight', lazy=True)
    status = db.relationship('Status', backref='flight', lazy=True)

    def __repr__(self):
        return f"Flight('{self.id}', '{self.from_id}', '{self.to_id}', '{self.day}')"
示例#4
0
class Crew(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    pilot_id = db.Column(db.Integer, db.ForeignKey('pilot.id'), nullable=False)
    copilot_id = db.Column(db.Integer,
                           db.ForeignKey('pilot.id'),
                           nullable=False)
    employee1_id = db.Column(db.Integer,
                             db.ForeignKey('employee.id'),
                             nullable=False)
    employee2_id = db.Column(db.Integer,
                             db.ForeignKey('employee.id'),
                             nullable=False)
    employee3_id = db.Column(db.Integer,
                             db.ForeignKey('employee.id'),
                             nullable=False)
    crew_status = db.relationship('Status',
                                  backref='crew',
                                  lazy=True,
                                  uselist=False)

    def __repr__(self):
        return f"Crew('{self.pilot_id}', '{self.copilot_id}', '{self.employee1_id}', '{self.employee2_id}', '{self.employee3_id}')"
示例#5
0
class Pilot(db.Model):
    licence_no = db.Column(db.Integer, nullable=False)
    experience = db.Column(db.Integer, nullable=False)
    rank = db.Column(db.String(1))
    id = db.Column(db.Integer, db.ForeignKey('employee.id'), primary_key=True)
    crew_pilot = db.relationship('Crew',
                                 backref='pilot',
                                 foreign_keys="[Crew.pilot_id]",
                                 lazy=True)
    crew_copilot = db.relationship('Crew',
                                   backref='copilot',
                                   foreign_keys="[Crew.copilot_id]",
                                   lazy=True)

    def __repr__(self):
        return f"Pilot('{self.employee.user.name}', '{self.employee.user.email}', '{self.employee.user.dob}', '{self.experience}', '{self.rank}')"
示例#6
0
class Employee(db.Model):
    position = db.Column(db.String(20), nullable=False)
    joining_date = db.Column(db.Date, nullable=False)
    salary = db.Column(db.Integer, nullable=False)
    id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True)
    pilot = db.relationship('Pilot', backref='employee', lazy=True)
    crew_emp_1 = db.relationship('Crew',
                                 backref='employee1',
                                 foreign_keys="[Crew.employee1_id]",
                                 lazy=True)
    crew_emp_2 = db.relationship('Crew',
                                 backref='employee2',
                                 foreign_keys="[Crew.employee2_id]",
                                 lazy=True)
    crew_emp_3 = db.relationship('Crew',
                                 backref='employee3',
                                 foreign_keys="[Crew.employee3_id]",
                                 lazy=True)

    def __repr__(self):
        return f"Employee('{self.user.name}', '{self.user.email}', '{self.user.dob}', '{self.position}', '{self.salary}')"