diff --git a/data/database.py b/data/database.py index 39c52bd..3125834 100644 --- a/data/database.py +++ b/data/database.py @@ -3,12 +3,13 @@ The base definitions for database access and definition """ +from datetime import datetime import os from dotenv import load_dotenv -from sqlalchemy import create_engine, DateTime, Column, Integer, String -from sqlalchemy.orm import DeclarativeBase, sessionmaker +from sqlalchemy import create_engine, Date, Integer, String +from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, sessionmaker load_dotenv() @@ -36,14 +37,14 @@ dal = DataAccessLayer() class PowerballDraw(Base): __tablename__ = 'powerball_draws' - draw_date: DateTime = Column(DateTime, primary_key=True) - white_ball1: int = Column(Integer) - white_ball2: int = Column(Integer) - white_ball3: int = Column(Integer) - white_ball4: int = Column(Integer) - white_ball5: int = Column(Integer) - powerball: int = Column(Integer) - power_play: int = Column(Integer) + draw_date: Mapped[datetime.date] = mapped_column(Date, primary_key=True) + white_ball1: Mapped[int] = mapped_column(Integer) + white_ball2: Mapped[int] = mapped_column(Integer) + white_ball3: Mapped[int] = mapped_column(Integer) + white_ball4: Mapped[int] = mapped_column(Integer) + white_ball5: Mapped[int] = mapped_column(Integer) + powerball: Mapped[int] = mapped_column(Integer) + power_play: Mapped[int] = mapped_column(Integer) def __repr__(self): @@ -54,3 +55,9 @@ class PowerballDraw(Base): return f"{self.draw_date}, [{self.white_ball1} {self.white_ball2} {self.white_ball3} {self.white_ball4} " \ f"{self.white_ball5}], {self.powerball}, {self.power_play if self.power_play else 1}x" + def __eq__(self, other): + return self.draw_date == other.draw_date and self.white_ball1 == other.white_ball1 and \ + self.white_ball2 == other.white_ball2 and self.white_ball3 == other.white_ball3 and \ + self.white_ball4 == other.white_ball4 and self.white_ball5 == other.white_ball5 and \ + self.powerball == other.powerball and self.power_play == other.power_play +