gtfsrt_concepcion/apiweb/model/feed.py

61 lines
2.1 KiB
Python

# coding: utf-8
from sqlalchemy.dialects import postgresql, sqlite
from sqlalchemy.sql import func
from apiweb.main import db
class Registros(db.Model):
__tablename__ = 'registros'
__table_args__ = { 'schema': 'gtfsrt' }
id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
filename = db.Column(db.String())
status = db.Column(db.Integer(), default=0)
timestamp = db.Column(db.DateTime(timezone=True), default=func.now())
class Vehiculo(db.Model):
__tablename__ = 'vehicle'
__table_args__ = { 'schema': 'gtfsrt' }
id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
patente = db.Column(db.String(8))
timestamp = db.Column(db.BigInteger())
class Viaje(db.Model):
__tablename__ = 'trip'
__table_args__ = { 'schema': 'gtfsrt' }
id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
trip_id = db.Column(db.String(50))
route_id = db.Column(db.Integer())
direction_id = db.Column(db.Integer())
start_time = db.Column(db.String(8))
start_date = db.Column(db.String(8))
class Entidades(db.Model):
__tablename__ = 'entity'
__table_args__ = { 'schema': 'gtfsrt' }
id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
entity = db.Column(db.String(50))
vehicleid = db.Column(db.Integer(), db.ForeignKey('gtfsrt.vehicle.id'), nullable=False)
tripid = db.Column(db.Integer(), db.ForeignKey('gtfsrt.trip.id'), nullable=True)
timestamp = db.Column(db.BigInteger())
class Posicion(db.Model):
__tablename__ = 'datapoint'
__table_args__ = { 'schema': 'gtfsrt' }
id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
latitude = db.Column(db.Float)
longitude = db.Column(db.Float)
bearing = db.Column(db.Integer())
odometer = db.Column(db.Float)
speed = db.Column(db.Float)
vehicleid = db.Column(db.Integer(), db.ForeignKey('gtfsrt.vehicle.id'), nullable=False)
tripid = db.Column(db.Integer(), db.ForeignKey('gtfsrt.trip.id'), nullable=True)
timestamp = db.Column(db.BigInteger())