69 lines
2.2 KiB
Python
69 lines
2.2 KiB
Python
from sqlalchemy import Boolean, Column, DateTime, Integer, String, ForeignKey
|
|
from sqlalchemy.dialects.mysql import BIT
|
|
from sqlalchemy.orm import relationship
|
|
|
|
from database.base import Base
|
|
|
|
|
|
class Sport(Base):
|
|
__tablename__ = "sport"
|
|
id = Column(String, primary_key=True)
|
|
created_date = Column(DateTime)
|
|
last_modified_date = Column(DateTime)
|
|
version = Column(Integer)
|
|
name = Column(String(255))
|
|
teams = relationship("Team")
|
|
positions = relationship("FieldPosition")
|
|
|
|
|
|
class Team(Base):
|
|
__tablename__ = "team"
|
|
id = Column(String, primary_key=True)
|
|
created_date = Column(DateTime)
|
|
last_modified_date = Column(DateTime)
|
|
version = Column(Integer)
|
|
name = Column(String(255))
|
|
short_name = Column(String(255))
|
|
sport_id = Column(String, ForeignKey("sport.id"))
|
|
sport = relationship("Sport", back_populates="positions")
|
|
roosters = relationship("Rooster")
|
|
|
|
|
|
class FieldPosition(Base):
|
|
__tablename__ = "field_position"
|
|
id = Column(String, primary_key=True)
|
|
created_date = Column(DateTime)
|
|
last_modified_date = Column(DateTime)
|
|
version = Column(Integer)
|
|
name = Column(String(255))
|
|
short_name = Column(String(255))
|
|
sport_id = Column(String, ForeignKey("sport.id"))
|
|
sport = relationship("Sport", back_populates="positions")
|
|
roosters = relationship("Rooster")
|
|
|
|
|
|
class Player(Base):
|
|
__tablename__ = "player"
|
|
id = Column(String, primary_key=True)
|
|
created_date = Column(DateTime)
|
|
last_modified_date = Column(DateTime)
|
|
version = Column(Integer)
|
|
first_name = Column(String(255))
|
|
last_name = Column(String(255))
|
|
roosters = relationship("Rooster")
|
|
|
|
|
|
class Rooster(Base):
|
|
__tablename__ = "rooster"
|
|
id = Column(String, primary_key=True)
|
|
created_date = Column(DateTime)
|
|
last_modified_date = Column(DateTime)
|
|
version = Column(Integer)
|
|
year = Column(Integer)
|
|
team_id = Column(String, ForeignKey("team.id"))
|
|
team = relationship("Team", back_populates="roosters")
|
|
player_id = Column(String, ForeignKey("player.id"))
|
|
player = relationship("Player", back_populates="roosters")
|
|
position_id = Column(String, ForeignKey("field_position.id"))
|
|
position = relationship("roosters")
|