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))
|
||||
|
||||
# Relationships
|
||||
session: Mapped["AISession"] = relationship("AISession")
|
||||
parent_branch: Mapped["SessionBranch"] = relationship("SessionBranch")
|
||||
trigger_step: Mapped[Optional["AISessionStep"]] = relationship("AISessionStep")
|
||||
session: Mapped["AISession"] = relationship("AISession", foreign_keys=[session_id])
|
||||
parent_branch: Mapped["SessionBranch"] = relationship("SessionBranch", foreign_keys=[parent_branch_id])
|
||||
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))
|
||||
|
||||
# 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])
|
||||
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])
|
||||
|
||||
@@ -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))
|
||||
|
||||
# Relationships
|
||||
session = relationship("AISession")
|
||||
session = relationship("AISession", foreign_keys="SessionResolutionOutput.session_id")
|
||||
|
||||
Reference in New Issue
Block a user