fix(models): drop dead __table_args__ + use func.now() for server defaults

This commit is contained in:
Viktor Barzin 2026-05-21 19:26:42 +00:00
parent 8ed2e70e8f
commit a49e46f787

View file

@ -14,7 +14,7 @@ from sqlalchemy import (
Numeric,
String,
Text,
Index,
func,
)
from sqlalchemy.dialects.postgresql import JSONB
from sqlalchemy.orm import Mapped, mapped_column, relationship
@ -166,7 +166,7 @@ class KevinTranscript(Base):
segments_json: Mapped[dict | None] = mapped_column(JSONB, nullable=True)
word_count: Mapped[int] = mapped_column(Integer, nullable=False)
created_at: Mapped[datetime] = mapped_column(
DateTime(timezone=True), server_default="now()", nullable=False
DateTime(timezone=True), server_default=func.now(), nullable=False
)
# Relationships
@ -196,7 +196,7 @@ class KevinAnalysis(Base):
completion_tokens: Mapped[int] = mapped_column(Integer, nullable=False)
cost_usd: Mapped[Decimal] = mapped_column(Numeric(10, 4), nullable=False)
created_at: Mapped[datetime] = mapped_column(
DateTime(timezone=True), server_default="now()", nullable=False
DateTime(timezone=True), server_default=func.now(), nullable=False
)
# Relationships
@ -233,16 +233,9 @@ class KevinStockMention(Base):
Integer, nullable=True
)
created_at: Mapped[datetime] = mapped_column(
DateTime(timezone=True), server_default="now()", nullable=False
DateTime(timezone=True), server_default=func.now(), nullable=False
)
# Relationships
video: Mapped[KevinVideo] = relationship(back_populates="mentions")
analysis: Mapped[KevinAnalysis] = relationship(back_populates="mentions")
# Create composite indexes as per spec
__table_args__ = (
Index("ix_kevin_stock_mentions_symbol_created", "symbol", "created_at"),
Index("ix_kevin_videos_published", "published_at"),
)