add tysc schema

This commit is contained in:
Thomas Peetz
2025-01-11 19:00:58 +01:00
committed by Thomas Peetz
parent d2b1cb999a
commit 5affa16505
5 changed files with 75 additions and 8 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
from sqlalchemy import Column, String, DateTime, Integer
from sqlalchemy.orm import DeclarativeBase, relationship, sessionmaker from sqlalchemy.orm import DeclarativeBase, relationship, sessionmaker
class Base(DeclarativeBase): class Base(DeclarativeBase):
pass pass
+3 -3
View File
@@ -1,5 +1,5 @@
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, String from sqlalchemy import Boolean, Column, DateTime, Integer, String
from sqlalchemy.orm import relationship from sqlalchemy.dialects.mysql import BIT
from database.base import Base from database.base import Base
@@ -13,7 +13,7 @@ class MediaFile(Base):
cloud_link = Column(String(255)) cloud_link = Column(String(255))
file_name = Column(String(255)) file_name = Column(String(255))
path = Column(String(255)) path = Column(String(255))
review = Column(Boolean, default=True) review = Column(BIT(1), default=True)
title = Column(String(255)) title = Column(String(255))
url = Column(String(255)) url = Column(String(255))
should_download = Column(Boolean, default=True) should_download = Column(Boolean, default=True)
+3 -3
View File
@@ -1,4 +1,5 @@
from sqlalchemy import Column, String, ForeignKey, DateTime, Integer, Boolean from sqlalchemy import Column, String, ForeignKey, DateTime, Integer, Boolean
from sqlalchemy.dialects.mysql import BIT
from sqlalchemy.orm import relationship from sqlalchemy.orm import relationship
from database import Base from database import Base
@@ -34,8 +35,8 @@ class MetaDataColumn(Base):
table = relationship("MetaDataTable", back_populates="table_columns") table = relationship("MetaDataTable", back_populates="table_columns")
column_label = Column(String(255)) column_label = Column(String(255))
filter_label = Column(String(255)) filter_label = Column(String(255))
is_shown = Column(Boolean) is_shown = Column(BIT(1))
show_filter = Column(Boolean) show_filter = Column(BIT(1))
def __repr__(self): def __repr__(self):
if self.column_name is None: if self.column_name is None:
@@ -45,4 +46,3 @@ class MetaDataColumn(Base):
def __str__(self): def __str__(self):
return f'{self.column_name}({self.id})' return f'{self.column_name}({self.id})'
+68
View File
@@ -0,0 +1,68 @@
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")
@@ -1,7 +1,6 @@
package de.thpeetz.kontor.tysc.data; package de.thpeetz.kontor.tysc.data;
import java.util.List; import java.util.List;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;