]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Remove passive_deletes warning for many-to-one
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 2 Mar 2021 23:48:08 +0000 (18:48 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 3 Mar 2021 15:53:52 +0000 (10:53 -0500)
Removed very old warning that states that passive_deletes is not intended
for many-to-one relationships. While it is likely that in many cases
placing this parameter on a many-to-one relationship is not what was
intended, there are use cases where delete cascade may want to be
disallowed following from such a relationship.

Change-Id: I07adb726633f73f26296add4ec70376d5dcf8817
References: #5983

doc/build/changelog/unreleased_13/5983.rst [new file with mode: 0644]
lib/sqlalchemy/orm/relationships.py
test/orm/test_unitofwork.py

diff --git a/doc/build/changelog/unreleased_13/5983.rst b/doc/build/changelog/unreleased_13/5983.rst
new file mode 100644 (file)
index 0000000..a5724eb
--- /dev/null
@@ -0,0 +1,11 @@
+.. change::
+    :tags: bug, orm
+    :tickets: 5983
+
+    Removed very old warning that states that passive_deletes is not intended
+    for many-to-one relationships. While it is likely that in many cases
+    placing this parameter on a many-to-one relationship is not what was
+    intended, there are use cases where delete cascade may want to be
+    disallowed following from such a relationship.
+
+
index 63dca4c95a1a32f093a186a1b3bee597e9a90d06..c1fcc63c1ef8bf05d41d57568f56320ceb00ab27 100644 (file)
@@ -2353,13 +2353,6 @@ class RelationshipProperty(StrategizedProperty):
                 code="bbf0",
             )
 
-        if self.direction is MANYTOONE and self.passive_deletes:
-            util.warn(
-                "On %s, 'passive_deletes' is normally configured "
-                "on one-to-many, one-to-one, many-to-many "
-                "relationships only." % self
-            )
-
         if self.passive_deletes == "all" and (
             "delete" in cascade or "delete-orphan" in cascade
         ):
index 2c35bec45f818d6b7c0ddb8793b0ef8a0d63b343..ff8349fee9725f06545a9592136dce0ab9dc4750 100644 (file)
@@ -779,7 +779,7 @@ class PassiveDeletesTest(fixtures.MappedTest):
             0,
         )
 
-    def test_aaa_m2o_emits_warning(self):
+    def test_aaa_m2o_no_longer_emits_warning(self):
         myothertable, MyClass, MyOtherClass, mytable = (
             self.tables.myothertable,
             self.classes.MyClass,
@@ -797,7 +797,7 @@ class PassiveDeletesTest(fixtures.MappedTest):
             },
         )
         mapper(MyClass, mytable)
-        assert_raises(sa.exc.SAWarning, sa.orm.configure_mappers)
+        sa.orm.configure_mappers()
 
 
 class BatchDeleteIgnoresRowcountTest(fixtures.DeclarativeMappedTest):