From 15ce6dbb4df90aa4898d54fd36cb7e7210e865d6 Mon Sep 17 00:00:00 2001 From: derekc Date: Fri, 27 Feb 2026 23:32:17 -0800 Subject: [PATCH] Fix child delete failing due to SQLAlchemy nullifying FK before DB cascade Add passive_deletes=True to daily_sessions and activity_logs relationships so the ORM defers to MySQL's ON DELETE CASCADE instead of trying to SET NULL. Co-Authored-By: Claude Sonnet 4.6 --- backend/app/models/child.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/app/models/child.py b/backend/app/models/child.py index c78c875..7883287 100644 --- a/backend/app/models/child.py +++ b/backend/app/models/child.py @@ -16,8 +16,8 @@ class Child(TimestampMixin, Base): user: Mapped["User"] = relationship("User", back_populates="children") # noqa: F821 daily_sessions: Mapped[list["DailySession"]] = relationship( # noqa: F821 - "DailySession", back_populates="child" + "DailySession", back_populates="child", passive_deletes=True ) activity_logs: Mapped[list["ActivityLog"]] = relationship( # noqa: F821 - "ActivityLog", back_populates="child" + "ActivityLog", back_populates="child", passive_deletes=True )