alembic常用命令
介绍
Alembic 是一个用于数据库迁移的工具,通常与 SQLAlchemy 一起使用。以下是一些常用的 Alembic 命令:
1. 初始化 Alembic
- 命令:
alembic init <directory>
- 描述: 初始化 Alembic 环境,创建一个包含配置文件和脚本的目录。
- 示例:
alembic init alembic
2. 创建迁移脚本
- 命令:
alembic revision -m "description"
- 描述: 创建一个新的迁移脚本,并附带一个描述信息。
- 示例:
alembic revision -m "add user table"
3. 自动生成迁移脚本
- 命令:
alembic revision --autogenerate -m "description"
- 描述: 自动生成迁移脚本,基于当前数据库模型与目标数据库模型的差异。
- 示例:
alembic revision --autogenerate -m "add email column to user table"
4. 升级数据库
- 命令:
alembic upgrade <revision>
- 描述: 将数据库升级到指定的版本或最新版本。
- 示例:
alembic upgrade head
升级到最新版本。alembic upgrade +1
升级到下一个版本。alembic upgrade <revision_id>
升级到指定版本。
5. 降级数据库
- 命令:
alembic downgrade <revision>
- 描述: 将数据库降级到指定的版本或上一个版本。
- 示例:
alembic downgrade -1
降级到上一个版本。alembic downgrade <revision_id>
降级到指定版本。
6. 查看当前数据库版本
- 命令:
alembic current
- 描述: 查看当前数据库的版本。
7. 查看历史版本
- 命令:
alembic history
- 描述: 查看所有迁移脚本的历史记录。
8. 编辑迁移脚本
- 命令:
alembic edit <revision>
- 描述: 编辑指定的迁移脚本。
- 示例:
alembic edit 1234567890ab
9. 合并迁移脚本
- 命令:
alembic merge -m "description" <revision1> <revision2>
- 描述: 合并两个迁移脚本为一个。
- 示例:
alembic merge -m "merge two revisions" 1234567890ab 234567890abc
10. 清理未应用的迁移
- 命令:
alembic stamp <revision>
- 描述: 将数据库标记为指定的版本,跳过中间的迁移。
- 示例:
alembic stamp head
11. 生成迁移脚本并应用
- 命令:
alembic upgrade --sql <revision>
- 描述: 生成指定版本的SQL语句,但不实际执行。
- 示例:
alembic upgrade --sql head
12. 自定义环境
- 命令:
alembic --config <config_file>
- 描述: 使用自定义配置文件运行 Alembic 命令。
- 示例:
alembic --config my_alembic.ini upgrade head
13. 查看帮助
- 命令:
alembic --help
- 描述: 查看 Alembic 的帮助信息。