Add dummy values to race result
All checks were successful
Build Formula10 Docker Image / build-docker (push) Successful in 20s

These columns are not marked nullable, so ignoring them prevents entering of race results
This commit is contained in:
2024-03-09 19:48:07 +01:00
parent 73273bc5cd
commit 8b2920f886
5 changed files with 48 additions and 6 deletions

View File

@ -1,5 +1,6 @@
from sqlalchemy import ForeignKey, String
from sqlalchemy.orm import Mapped, mapped_column, relationship
from formula10.database.model.db_driver import DbDriver
from formula10.database.model.db_race import DbRace
from formula10 import db
@ -20,5 +21,10 @@ class DbRaceResult(db.Model):
dnf_driver_ids_json: Mapped[str] = mapped_column(String(1024), nullable=False)
excluded_driver_ids_json: Mapped[str] = mapped_column(String(1024), nullable=False)
fastest_lap_id: Mapped[int] = mapped_column(ForeignKey("driver.id"), nullable=False)
sprint_dnf_driver_ids_json: Mapped[str] = mapped_column(String(1024), nullable=False)
sprint_points_json: Mapped[str] = mapped_column(String(1024), nullable=False)
# Relationships
race: Mapped[DbRace] = relationship("DbRace", foreign_keys=[race_id])
race: Mapped[DbRace] = relationship("DbRace", foreign_keys=[race_id])
fastest_lap_driver: Mapped[DbDriver] = relationship("DbDriver", foreign_keys=[fastest_lap_id])

View File

@ -13,6 +13,7 @@ from formula10.database.model.db_season_guess import DbSeasonGuess
from formula10.database.model.db_user import DbUser
from formula10.database.validation import any_is_none, positions_are_contiguous, race_has_started
from formula10 import ENABLE_TIMING, db
from formula10.domain.model.driver import NONE_DRIVER
def find_or_create_race_guess(user_id: int, race_id: int) -> DbRaceGuess:
@ -126,6 +127,11 @@ def find_or_create_race_result(race_id: int) -> DbRaceResult:
race_result.first_dnf_driver_ids_json = json.dumps(["9999"])
race_result.dnf_driver_ids_json = json.dumps(["9999"])
race_result.excluded_driver_ids_json = json.dumps(["9999"])
race_result.fastest_lap_id = 9999
race_result.sprint_dnf_driver_ids_json = json.dumps(["9999"])
race_result.sprint_points_json = json.dumps({"9999": "9999"})
db.session.add(race_result)
db.session.commit()
@ -169,6 +175,11 @@ def update_race_result(race_id: int, pxx_driver_ids_list: List[str], first_dnf_d
race_result.dnf_driver_ids_json = json.dumps(dnf_driver_ids_list)
race_result.excluded_driver_ids_json = json.dumps(excluded_driver_ids_list)
# @todo Dummy values
race_result.fastest_lap_id = NONE_DRIVER.id
race_result.sprint_dnf_driver_ids_json = json.dumps([NONE_DRIVER.id])
race_result.sprint_points_json = json.dumps({NONE_DRIVER.id: 0})
db.session.commit()
race: DbRace | None = db.session.query(DbRace).filter_by(id=race_id).first()