feat: use custom type to handle existing naive datetimes

This commit is contained in:
Iain Learmonth 2024-12-06 18:02:59 +00:00
parent e22abb383c
commit 39bdac1ecf
45 changed files with 210 additions and 84 deletions

View file

@ -7,6 +7,7 @@ from sqlalchemy.orm import Mapped, mapped_column
from app.brm.brn import BRN
from app.extensions import db
from app.models import AbstractConfiguration, AbstractResource
from app.models.types import AwareDateTime
class AutomationState(enum.Enum):
@ -19,8 +20,8 @@ class Automation(AbstractConfiguration):
short_name: Mapped[str]
state: Mapped[AutomationState] = mapped_column(default=AutomationState.IDLE)
enabled: Mapped[bool]
last_run: Mapped[Optional[datetime]] = mapped_column(db.DateTime(timezone=True))
next_run: Mapped[Optional[datetime]] = mapped_column(db.DateTime(timezone=True))
last_run: Mapped[Optional[datetime]] = mapped_column(AwareDateTime())
next_run: Mapped[Optional[datetime]] = mapped_column(AwareDateTime())
next_is_full: Mapped[bool]
logs = db.relationship("AutomationLogs", back_populates="automation")