初始化配置
Alembic 是 SQLAlchemy 的数据库迁移工具,用来版本化管理数据库表结构的变更。
一、为什么需要 Alembic
开发过程中表结构会不断变化(加字段、改类型、删表),手动管理很乱:
Alembic 的做法:每次表结构变更生成一个迁移脚本,可以向前执行(upgrade)也可以回滚(downdown),所有变更都有记录。
二、安装
三、初始化
在项目根目录执行:
会生成以下结构:
四、配置 alembic.ini
打开 alembic.ini,找到这一行:
改成你的数据库连接地址:
也可以不改这里,在
env.py里动态设置(后面会讲)。
五、配置 env.py
env.py 是 Alembic 的核心配置文件,需要改两个地方。
5.1 导入你的 Model
在文件顶部加上:
如果 Model 分散在多个文件中,全部导入:
5.2 设置 target_metadata
找到这一行:
改成:
这一行告诉 Alembic:「用这些 Model 的定义作为目标状态,和数据库当前状态对比,自动生成差异」。
5.3 完整 env.py(关键部分)
只需要改两处(标记了 你加的部分 和 你改的部分),其他保持默认即可。
六、验证配置
执行以下命令,如果没有报错就说明配置成功:
正常输出类似:
如果报错 Can't locate revision identified by 'xxx',通常是因为数据库里有旧的迁移记录但 versions/ 目录里没有对应脚本,删掉数据库文件重新来就行。

