SuperAPI AI 工具集

alembic

数据与分析

查看项目

更新于 10-16 06:42

技能介绍

用途:Alembic 是 SQLAlchemy 的迁移工具,用于对数据库结构进行版本化管理,适合需要追踪 schema 变更、生成迁移脚本、在生产环境处理结构变更或数据迁移的场景。

主要能力:以带版本号的 Python 脚本记录数据库结构变化;支持从模型变更自动生成迁移;支持分支;支持数据迁移。

使用方式:先安装并初始化,命令为 pip install alembic 和 alembic init alembic。在 alembic/env.py 中配置,可结合异步 SQLAlchemy 使用。创建迁移可用 alembic revision --autogenerate -m "add projects table" 自动生成,或用 alembic revision -m "backfill user roles" 创建空迁移用于数据迁移。常用命令包括 alembic upgrade head 应用全部待执行迁移、alembic downgrade -1 回滚一个迁移、alembic history 查看迁移历史、alembic current 查看当前版本、alembic upgrade +1 仅应用下一个迁移。

限制与注意事项:自动生成的迁移务必人工审查,重命名可能被识别为删除加创建;应在部署前于 CI 中运行迁移以尽早发现结构问题;数据迁移应保持幂等,可安全重复运行;SQLite 对 ALTER TABLE 支持不佳,需使用 op.batch_alter_table();已应用的迁移不要直接编辑,应新建迁移。