(self)
| 907 | eq_(u3.name, "also fred") |
| 908 | |
| 909 | def test_many_to_one_cascade(self): |
| 910 | Address, addresses, users, User = ( |
| 911 | self.classes.Address, |
| 912 | self.tables.addresses, |
| 913 | self.tables.users, |
| 914 | self.classes.User, |
| 915 | ) |
| 916 | |
| 917 | self.mapper_registry.map_imperatively( |
| 918 | Address, addresses, properties={"user": relationship(User)} |
| 919 | ) |
| 920 | self.mapper_registry.map_imperatively(User, users) |
| 921 | |
| 922 | u1 = User(id=1, name="u1") |
| 923 | a1 = Address(id=1, email_address="a1", user=u1) |
| 924 | u2 = User(id=2, name="u2") |
| 925 | |
| 926 | sess = fixture_session(expire_on_commit=False) |
| 927 | sess.add_all([a1, u2]) |
| 928 | sess.commit() |
| 929 | |
| 930 | a1.user = u2 |
| 931 | |
| 932 | with fixture_session(expire_on_commit=False) as sess2: |
| 933 | a2 = sess2.merge(a1) |
| 934 | eq_(attributes.get_history(a2, "user"), ([u2], (), ())) |
| 935 | assert a2 in sess2.dirty |
| 936 | |
| 937 | sess.refresh(a1) |
| 938 | |
| 939 | with fixture_session(expire_on_commit=False) as sess2: |
| 940 | a2 = sess2.merge(a1, load=False) |
| 941 | eq_(attributes.get_history(a2, "user"), ((), [u1], ())) |
| 942 | assert a2 not in sess2.dirty |
| 943 | |
| 944 | def test_many_to_many_cascade(self): |
| 945 | items, Order, orders, order_items, Item = ( |
nothing calls this directly
no test coverage detected