def _test_update(self, person_cls): Person = person_cls s = Session() s.add(Person(id=5, personname="thename")) s.commit() with self.sql_execution_asserter(testing.db) as asserter: s.bulk_update_mappings(Person, [{ "id": 5, "personname": "newname" }]) eq_(s.query(Person).first(), Person(id=5, personname="newname")) return asserter
def test_bulk_update(self): (User, ) = self.classes("User") s = Session(expire_on_commit=False) objects = [User(name="u1"), User(name="u2"), User(name="u3")] s.add_all(objects) s.commit() s = Session() with self.sql_execution_asserter() as asserter: s.bulk_update_mappings( User, [ { "id": 1, "name": "u1new" }, { "id": 2, "name": "u2" }, { "id": 3, "name": "u3new" }, ], ) asserter.assert_( CompiledSQL( "UPDATE users SET name=:name WHERE users.id = :users_id", [ { "users_id": 1, "name": "u1new" }, { "users_id": 2, "name": "u2" }, { "users_id": 3, "name": "u3new" }, ], ))