# HG changeset patch
# User Goffi <goffi@goffi.org>
# Date 1701189320 -3600
# Node ID 2074b2bbe616d1035341d2c375ee300834a8ccb8
# Parent  6a0066ea5c9777a7de6945ae7870b6cadb122589
core (memory/sqla_mapping): `delete-orphan` in History:

add `cascade=delete-orphan` to History's `messages`, `subjects` and `thread`, to make
modification of those attributes easier.

diff -r 6a0066ea5c97 -r 2074b2bbe616 libervia/backend/memory/sqla_mapping.py
--- a/libervia/backend/memory/sqla_mapping.py	Tue Nov 28 17:26:45 2023 +0100
+++ b/libervia/backend/memory/sqla_mapping.py	Tue Nov 28 17:35:20 2023 +0100
@@ -299,10 +299,24 @@
     extra = Column(LegacyPickle)
 
     profile = relationship("Profile")
-    messages = relationship("Message", backref="history", passive_deletes=True)
-    subjects = relationship("Subject", backref="history", passive_deletes=True)
+    messages = relationship(
+        "Message",
+        backref="history",
+        cascade="all, delete-orphan",
+        passive_deletes=True
+    )
+    subjects = relationship(
+        "Subject",
+        backref="history",
+        cascade="all, delete-orphan",
+        passive_deletes=True
+    )
     thread = relationship(
-        "Thread", uselist=False, back_populates="history", passive_deletes=True
+        "Thread",
+        uselist=False,
+        back_populates="history",
+        cascade="all, delete-orphan",
+        passive_deletes=True
     )
     __mapper_args__ = {"version_id_col": version_id}