Aerich 数据库迁移工具教程
aerich项目地址:https://gitcode.com/gh_mirrors/aer/aerich
1. 项目介绍
Aerich 是一款专为 Tortoise-ORM 设计的数据库迁移工具,类似于 SQLAlchemy 的 Alembic 或 Django ORM 自带的迁移方案。它允许开发者方便地管理数据库版本,实现数据结构的升级和回滚。Aerich 使用简洁的命令行接口,支持多种数据库如 MySQL, PostgreSQL, 和 SQLite。
2. 项目快速启动
安装
首先,确保你已经安装了 Tortoise-ORM
,然后可以通过 pip
安装 aerich
:
pip install tortoise-orm aerich
初始化配置
在你的项目根目录下创建一个名为 aerich.ini
的配置文件,例如,如果你使用的是 SQLite 数据库:
[DEFAULT]
database_url = sqlite:///./test.db
初始化数据库迁移
执行以下命令初始化数据库迁移:
aerich init
创建迁移
当你需要更新数据库结构时,创建一个新的迁移文件:
aerich migrate -m "添加新的用户表"
应用迁移
执行以下命令将迁移应用于数据库:
aerich upgrade
回滚迁移
若要回滚到最后一次迁移,使用:
aerich downgrade
3. 应用案例和最佳实践
反向生成 ORM 模型
已存在数据库的情况下,你可以使用 inspectdb
命令将数据库表映射为 Tortoise-ORM 模型:
aerich inspectdb > models.py
分布式环境中的迁移
在分布式环境中,确保每个节点都运行相同版本的 aerich
和 Tortoise-ORM
,并在所有节点上执行相同的迁移步骤。
4. 典型生态项目
- Tortoise-ORM - Aerich 的主要依赖,一个异步 ORM。
- FastAPI - 一个现代化、高性能的 Web 框架,Aerich 可与其结合使用提供数据库迁移功能。
- Docker Compose - 可用来集成 Aerich 到 Docker 化的应用环境中。
本教程提供了 Aerich 的基本操作,更多细节和高级用法可参考其官方文档和 GitHub 仓库。