fix: add explicit foreign_keys to all branching model relationships
SQLAlchemy can't resolve ambiguous FK paths when tables have multiple cross-references. All relationships now specify foreign_keys. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -30,6 +30,6 @@ class ForkPoint(Base):
|
|||||||
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc))
|
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc))
|
||||||
|
|
||||||
# Relationships
|
# Relationships
|
||||||
session: Mapped["AISession"] = relationship("AISession")
|
session: Mapped["AISession"] = relationship("AISession", foreign_keys=[session_id])
|
||||||
parent_branch: Mapped["SessionBranch"] = relationship("SessionBranch")
|
parent_branch: Mapped["SessionBranch"] = relationship("SessionBranch", foreign_keys=[parent_branch_id])
|
||||||
trigger_step: Mapped[Optional["AISessionStep"]] = relationship("AISessionStep")
|
trigger_step: Mapped[Optional["AISessionStep"]] = relationship("AISessionStep", foreign_keys=[trigger_step_id])
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ class SessionHandoff(Base):
|
|||||||
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc))
|
created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc))
|
||||||
|
|
||||||
# Relationships
|
# Relationships
|
||||||
session: Mapped["AISession"] = relationship("AISession")
|
session: Mapped["AISession"] = relationship("AISession", foreign_keys=[session_id])
|
||||||
handed_off_by_user: Mapped["User"] = relationship("User", foreign_keys=[handed_off_by])
|
handed_off_by_user: Mapped["User"] = relationship("User", foreign_keys=[handed_off_by])
|
||||||
source_branch: Mapped[Optional["SessionBranch"]] = relationship("SessionBranch")
|
source_branch: Mapped[Optional["SessionBranch"]] = relationship("SessionBranch", foreign_keys=[source_branch_id])
|
||||||
claimed_by_user: Mapped[Optional["User"]] = relationship("User", foreign_keys=[claimed_by])
|
claimed_by_user: Mapped[Optional["User"]] = relationship("User", foreign_keys=[claimed_by])
|
||||||
|
|||||||
@@ -36,4 +36,4 @@ class SessionResolutionOutput(Base):
|
|||||||
updated_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc), onupdate=lambda: datetime.now(timezone.utc))
|
updated_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc), onupdate=lambda: datetime.now(timezone.utc))
|
||||||
|
|
||||||
# Relationships
|
# Relationships
|
||||||
session = relationship("AISession")
|
session = relationship("AISession", foreign_keys="SessionResolutionOutput.session_id")
|
||||||
|
|||||||
Reference in New Issue
Block a user