меня код выглядит вот так:
# # # DATABASE FILE # # #
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
import config
engine = create_async_engine(url=config.SQLALCHEMY_ASYNCPG_URL, echo=False, future=True)
async_session = sessionmaker(bind=engine, autoflush=True, expire_on_commit=False, class_=AsyncSession)
Base = declarative_base() # Main class of ORM
# # # MODELS FILE # # #
import database
from sqlalchemy import Column, Table, Integer, String
users = Table(
"users", database.Base.metadata,
Column("id", Integer, primary_key=True, nullable=False),
Column("full_name", String, nullable=False))
#SQLAlchemy И еще много моделей ...
# # # MAIN FILE # # #
Import fastapi, database
app = fastapi.FastAPI()
@app.on_event("startup")
async def startup_event():
async with database.engine.begin() as conn:
await conn.run_sync(database.Base.metadata.create_all)
if __name__ == "__main__":
# create app
Я не понимаю откуда я должен импортировать metadata, в какой момент?
опять любители глобалов. а с каких пор алембик научился работать с asyncpg?
Обсуждают сегодня