Alembic 是一个用于 数据库迁移(Database Migration) 的工具,主要用于跟踪和管理数据库的版本变化,帮助开发者方便地升级或回滚数据库结构。它通常与 Python 的 SQLAlchemy ORM 一起使用,但也可以独立管理数据库迁移。


Alembic 的主要功能和特点:

  • 数据库版本控制:记录数据库结构的变化历史(如新增表、修改字段、删除列等),使得团队能够同步数据库结构。
  • 自动生成迁移脚本:能够根据模型变化自动生成迁移脚本,减少手写SQL的工作量。
  • 支持升级和回滚:可以对数据库进行版本升级,也能回滚到以前的版本,方便测试和修复问题。
  • 灵活且可扩展:支持多种数据库后端(PostgreSQL、MySQL、SQLite等),迁移脚本可以自定义SQL命令。

常见用法场景:

  • 在使用 SQLAlchemy 进行开发时,随着数据模型的不断演变,Alembic 可以帮助你同步数据库结构而无需手动修改数据库。
  • 团队开发中,保持数据库的一致性和版本同步。
  • 生产环境中平滑升级数据库结构,保证数据安全和完整。

Alembic 的基本工作流程:

  1. 初始化 Alembic
    生成 Alembic 配置文件和迁移脚本目录:

    alembic init migrations
  2. 编辑配置文件
    配置数据库连接和版本目录。比如配置env文件

  3. 生成迁移脚本
    自动生成迁移脚本,检测模型和数据库当前结构变化:

    alembic revision --autogenerate -m "描述本次修改"
  4. 应用迁移
    执行迁移脚本,把数据库升级到指定版本:

    alembic upgrade head
  5. 回滚迁移
    根据需要回滚到上一个版本或指定版本:

    alembic downgrade -1
作者:admin  创建时间:2025-10-20 17:50
最后编辑:admin  更新时间:2025-10-20 17:50