使用 SQLAlchemy 和 GINO 进行异步 CRUD 事务操作
1. 使用 SQLAlchemy 创建表
通常情况下,SQLAlchemy 会与数据库管理员已经生成的表架构一起工作。不过,它也能在运行时为 FastAPI 平台自动创建表架构,这在项目的测试或原型阶段可能会很有帮助。
以下是一个示例脚本,展示了 ORM 如何在应用程序级别创建 signup
表:
from sqlalchemy import Table, Column, Integer, String, MetaData
from db_config.sqlalchemy_connect import engine
meta = MetaData()
signup = Table(
'signup', meta,
Column('id', Integer, primary_key=True, nullable=False),
Column('username', String, unique=False, nullable=False),
Column('password', String, unique=False, nullable=False),
)
meta.create_all(bind=engine)
MetaData()
是模式定义的一部分,它是一个注册表,包含生成表所需的方法。当所有模式定义确定后,使用 engine
执行 MetaData()