MCPcopy
hub / github.com/tortoise/tortoise-orm / run

Function run

examples/transactions.py:22–51  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

20
21
22async def run():
23 await Tortoise.init(db_url="sqlite://:memory:", modules={"models": ["__main__"]})
24 await Tortoise.generate_schemas()
25
26 try:
27 async with in_transaction() as connection:
28 event = Event(name="Test")
29 await event.save(using_db=connection)
30 await Event.filter(id=event.id).using_db(connection).update(name="Updated name")
31 saved_event = await Event.filter(name="Updated name").using_db(connection).first()
32 await connection.execute_query("SELECT * FROM non_existent_table")
33 except OperationalError:
34 pass
35 saved_event = await Event.filter(name="Updated name").first()
36 print(saved_event)
37
38 @atomic()
39 async def bound_to_fall():
40 event = await Event.create(name="Test")
41 await Event.filter(id=event.id).update(name="Updated name")
42 saved_event = await Event.filter(name="Updated name").first()
43 print(saved_event.name)
44 raise OperationalError()
45
46 try:
47 await bound_to_fall()
48 except OperationalError:
49 pass
50 saved_event = await Event.filter(name="Updated name").first()
51 print(saved_event)
52
53
54if __name__ == "__main__":

Callers 1

transactions.pyFile · 0.70

Calls 11

in_transactionFunction · 0.90
saveMethod · 0.80
updateMethod · 0.80
using_dbMethod · 0.80
EventClass · 0.70
bound_to_fallFunction · 0.70
initMethod · 0.45
generate_schemasMethod · 0.45
filterMethod · 0.45
firstMethod · 0.45
execute_queryMethod · 0.45

Tested by

no test coverage detected