From: Gord Thompson Date: Wed, 20 Oct 2021 21:15:37 +0000 (-0600) Subject: Apply minor update to async_orm example X-Git-Tag: rel_1_4_27~41 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7f8bf038b753d3f250e0e974102c16037d1aea5d;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Apply minor update to async_orm example - Fixed import to avoid MovedIn20Warning. - Separated drop_all() and create_all() into separate context managers to avoid dropping and creating the same table within the same transaction. Apparently some databases (e.g., CockroachDB) don't allow that. Change-Id: Id26d7d719871a75ffb78c6af589658666802fb2f --- diff --git a/examples/asyncio/async_orm.py b/examples/asyncio/async_orm.py index d3355791c3..174ebf30b5 100644 --- a/examples/asyncio/async_orm.py +++ b/examples/asyncio/async_orm.py @@ -13,8 +13,8 @@ from sqlalchemy import Integer from sqlalchemy import String from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.ext.asyncio import create_async_engine -from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.future import select +from sqlalchemy.orm import declarative_base from sqlalchemy.orm import relationship from sqlalchemy.orm import selectinload from sqlalchemy.orm import sessionmaker @@ -53,6 +53,7 @@ async def async_main(): async with engine.begin() as conn: await conn.run_sync(Base.metadata.drop_all) + async with engine.begin() as conn: await conn.run_sync(Base.metadata.create_all) # expire_on_commit=False will prevent attributes from being expired