fix: add DateTime(timezone=True) to Batch 1a core monetization path models (11 files, 32 columns)
This commit is contained in:
parent
4168aca107
commit
289f04302f
|
|
@ -1,7 +1,7 @@
|
|||
import uuid
|
||||
from datetime import datetime
|
||||
|
||||
from sqlalchemy import String, Float, Integer, ForeignKey, Index, func, Text
|
||||
from sqlalchemy import String, Float, Integer, DateTime, ForeignKey, Index, func, Text
|
||||
from sqlalchemy import Uuid
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
|
||||
|
|
@ -37,18 +37,20 @@ class AttributionRecord(Base):
|
|||
attribution_window_days: Mapped[int] = mapped_column(
|
||||
Integer, server_default="28", nullable=False,
|
||||
)
|
||||
published_at: Mapped[datetime | None] = mapped_column(nullable=True)
|
||||
window_end_at: Mapped[datetime | None] = mapped_column(nullable=True)
|
||||
published_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
|
||||
window_end_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
|
||||
status: Mapped[str] = mapped_column(
|
||||
String(20), server_default="tracking", nullable=False,
|
||||
)
|
||||
attributed_dimensions: Mapped[dict | None] = mapped_column(JSONType, nullable=True)
|
||||
roi_percentage: Mapped[float | None] = mapped_column(Float, nullable=True)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
updated_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
onupdate=func.now(),
|
||||
nullable=False,
|
||||
|
|
|
|||
|
|
@ -40,13 +40,15 @@ class Brand(Base):
|
|||
platforms: Mapped[list] = mapped_column(JSONType, default=list, nullable=False)
|
||||
frequency: Mapped[str] = mapped_column(String(20), default="weekly", nullable=False)
|
||||
status: Mapped[str] = mapped_column(String(20), default="active", nullable=False)
|
||||
last_queried_at: Mapped[datetime | None] = mapped_column(DateTime, nullable=True)
|
||||
next_query_at: Mapped[datetime | None] = mapped_column(DateTime, nullable=True)
|
||||
last_queried_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
|
||||
next_query_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
updated_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
onupdate=func.now(),
|
||||
nullable=False,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import uuid
|
||||
from datetime import datetime
|
||||
|
||||
from sqlalchemy import String, Integer, Boolean, ForeignKey, Index, func, Text
|
||||
from sqlalchemy import String, Integer, Boolean, DateTime, ForeignKey, Index, func, Text
|
||||
from sqlalchemy import Uuid
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
|
||||
|
|
@ -32,10 +32,12 @@ class BrandKnowledge(Base):
|
|||
nullable=True,
|
||||
)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
updated_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
onupdate=func.now(),
|
||||
nullable=False,
|
||||
|
|
@ -81,6 +83,7 @@ class Keyword(Base):
|
|||
competition_level: Mapped[str | None] = mapped_column(String(20), nullable=True)
|
||||
status: Mapped[str] = mapped_column(String(20), server_default="active", nullable=False)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import uuid
|
||||
from datetime import datetime
|
||||
|
||||
from sqlalchemy import String, Boolean, Integer, Float, ForeignKey, Index, func, Text
|
||||
from sqlalchemy import String, Boolean, Integer, Float, DateTime, ForeignKey, Index, func, Text
|
||||
from sqlalchemy import Uuid, JSON
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
|
||||
|
|
@ -65,6 +65,7 @@ class CitationRecord(Base):
|
|||
comment="AI回答原始文本(去掉data_source标记后的纯文本)",
|
||||
)
|
||||
queried_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ class Competitor(Base):
|
|||
name: Mapped[str] = mapped_column(String(50), nullable=False)
|
||||
aliases: Mapped[list] = mapped_column(JSONType, default=list, nullable=False)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import uuid
|
||||
from datetime import datetime
|
||||
|
||||
from sqlalchemy import String, Float, Integer, ForeignKey, Index, func
|
||||
from sqlalchemy import String, Float, Integer, DateTime, ForeignKey, Index, func
|
||||
from sqlalchemy import Uuid
|
||||
from sqlalchemy.dialects.postgresql import JSONB
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
|
@ -49,10 +49,12 @@ class CompetitorInsight(Base):
|
|||
confidence: Mapped[str] = mapped_column(String(20), default="medium", nullable=False)
|
||||
period_days: Mapped[int] = mapped_column(Integer, default=30, nullable=False)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
updated_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
onupdate=func.now(),
|
||||
nullable=False,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import uuid
|
||||
from datetime import datetime
|
||||
|
||||
from sqlalchemy import String, Integer, ForeignKey, Index, func, Text
|
||||
from sqlalchemy import String, Integer, DateTime, ForeignKey, Index, func, Text
|
||||
from sqlalchemy import Uuid
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
|
||||
|
|
@ -40,10 +40,12 @@ class Content(Base):
|
|||
)
|
||||
current_version: Mapped[int] = mapped_column(Integer, server_default="1", nullable=False)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
updated_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
onupdate=func.now(),
|
||||
nullable=False,
|
||||
|
|
@ -98,6 +100,7 @@ class ContentVersion(Base):
|
|||
nullable=True,
|
||||
)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
|
|
@ -137,6 +140,7 @@ class ContentReview(Base):
|
|||
status: Mapped[str] = mapped_column(String(20), nullable=False)
|
||||
comments: Mapped[str | None] = mapped_column(Text, nullable=True)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
import uuid
|
||||
from datetime import datetime
|
||||
|
||||
from sqlalchemy import String, Integer, ForeignKey, Index, func, Text
|
||||
from sqlalchemy import String, Integer, DateTime, ForeignKey, Index, func, Text
|
||||
from sqlalchemy import Uuid
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
|
||||
|
|
@ -38,10 +38,12 @@ class DistributionSchedule(Base):
|
|||
nullable=True,
|
||||
)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
updated_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
onupdate=func.now(),
|
||||
nullable=False,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import uuid
|
||||
from datetime import datetime
|
||||
|
||||
from sqlalchemy import String, Integer, Text, ForeignKey, Index, func
|
||||
from sqlalchemy import String, Integer, Text, DateTime, ForeignKey, Index, func
|
||||
from sqlalchemy import Uuid
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
|
||||
|
|
@ -41,10 +41,12 @@ class GeoPlan(Base):
|
|||
nullable=True,
|
||||
)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
updated_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
onupdate=func.now(),
|
||||
nullable=False,
|
||||
|
|
@ -92,12 +94,14 @@ class GeoPlanAction(Base):
|
|||
sort_order: Mapped[int] = mapped_column(
|
||||
Integer, server_default="0", nullable=False,
|
||||
)
|
||||
completed_at: Mapped[datetime | None] = mapped_column(nullable=True)
|
||||
completed_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
updated_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
onupdate=func.now(),
|
||||
nullable=False,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import uuid
|
||||
from datetime import datetime
|
||||
|
||||
from sqlalchemy import String, ForeignKey, Index, func
|
||||
from sqlalchemy import String, DateTime, ForeignKey, Index, func
|
||||
from sqlalchemy import Uuid, JSON
|
||||
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
||||
|
||||
|
|
@ -27,13 +27,15 @@ class Query(Base):
|
|||
platforms: Mapped[list] = mapped_column(JSON, nullable=False, default=lambda: ["wenxin", "kimi"])
|
||||
frequency: Mapped[str] = mapped_column(String(20), default="weekly")
|
||||
status: Mapped[str] = mapped_column(String(20), default="active")
|
||||
last_queried_at: Mapped[datetime | None] = mapped_column(nullable=True)
|
||||
next_query_at: Mapped[datetime | None] = mapped_column(nullable=True)
|
||||
last_queried_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
|
||||
next_query_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
|
||||
created_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
updated_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
onupdate=func.now(),
|
||||
nullable=False,
|
||||
|
|
|
|||
|
|
@ -49,10 +49,12 @@ class Suggestion(Base):
|
|||
comment="状态: pending/in_progress/completed/dismissed",
|
||||
)
|
||||
generated_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
nullable=False,
|
||||
)
|
||||
updated_at: Mapped[datetime] = mapped_column(
|
||||
DateTime(timezone=True),
|
||||
server_default=func.now(),
|
||||
onupdate=func.now(),
|
||||
nullable=False,
|
||||
|
|
|
|||
Loading…
Reference in New Issue