Alembic 速查
共 23 条 Alembic 常用命令,涵盖初始化与升级、配置、查看与标记、写迁移、实践。 支持搜索与分类筛选,点击即可复制。
初始化与升级
配合 SQLAlchemy 使用。
| 命令 | 说明 |
|---|---|
| 初始化迁移目录 | |
| 创建空迁移(手写) | |
| 按模型差异自动生成 | |
| 升级到最新版本 | |
| 回退一个版本 |
配置
alembic.ini 与 env.py。
| 命令 | 说明 |
|---|---|
| 数据库地址(也可在 env.py 里从环境变量读取) | |
| 指定模型元数据(autogenerate 必需) | |
| 脚本目录 | |
| 指定配置文件 |
查看与标记
状态维护。
| 命令 | 说明 |
|---|---|
| 查看当前数据库版本 | |
| 查看迁移历史(含依赖链) | |
| 分支与多 head 检查 | |
| 只标记版本不改结构(接管已有库) | |
| 相对与绝对升级 |
写迁移
升级与回退函数。
| 命令 | 说明 |
|---|---|
| 升级操作 | |
| 回退操作 | |
| 加列 | |
| 创建索引 | |
| 批处理 |
实践
团队与生产。
| 命令 | 说明 |
|---|---|
| 纪律 | |
| 合并分支 | |
| 部署流程 | |
| 回滚 |
使用说明
Alembic 数据库迁移速查:初始化与升级、配置、查看与标记、写迁移、实践;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:初始化与升级、配置、查看与标记、写迁移、实践。
- 点「命令」列复制,替换迁移名与数据库地址后使用。
- 自动生成前先在 env.py 里设置 target_metadata = Base.metadata。
- 接管已有数据库用 stamp head 标记版本,避免重复建表。
常见问题
- autogenerate 漏字段怎么办?
- 自动生成只对比模型与库结构,类型变更、重命名等常检测不到,需要手动编辑迁移脚本补上;生成后务必人工检查。
- stamp 和 upgrade 有什么区别?
- upgrade 会真正执行迁移 SQL 改变库结构;stamp 只是把版本号标记为某值而不执行脚本,用于接管已存在的库。
- 迁移能回退吗?
- 可以,用 downgrade 回退到上一个或指定版本,前提是迁移脚本写好了可逆的 downgrade 函数;生产回退前先备份。