首页
/ Aerich 数据库迁移工具使用教程

Aerich 数据库迁移工具使用教程

2026-01-21 05:18:10作者:韦蓉瑛

1. 项目介绍

Aerich 是一个用于 TortoiseORM 的数据库迁移工具,类似于 SQLAlchemy 的 Alembic 或 Django ORM 自带的迁移解决方案。通过 Aerich,开发者可以根据模型类对数据库进行迁移操作,确保数据库结构与模型定义保持一致。

Aerich 支持多种数据库操作,包括初始化配置、生成迁移脚本、应用迁移、回滚迁移等。它还支持多数据库配置,适用于复杂的应用场景。

2. 项目快速启动

2.1 安装 Aerich

首先,使用 pip 安装 Aerich:

pip install aerich

2.2 配置 TortoiseORM

在项目中配置 TortoiseORM,并添加 Aerich 的模型配置。以下是一个示例配置:

TORTOISE_ORM = {
    "connections": {"default": "mysql://root:123456@127.0.0.1:3306/test"},
    "apps": {
        "models": {
            "models": ["aerich.models", "your_app.models"],
            "default_connection": "default",
        },
    },
}

2.3 初始化 Aerich

使用以下命令初始化 Aerich 配置:

aerich init -t your_app.settings.TORTOISE_ORM

2.4 初始化数据库

初始化数据库并生成迁移记录表:

aerich init-db

2.5 生成迁移脚本

当模型发生变化时,生成迁移脚本:

aerich migrate --name add_new_field

2.6 应用迁移

将生成的迁移脚本应用到数据库:

aerich upgrade

3. 应用案例和最佳实践

3.1 多数据库配置

Aerich 支持多数据库配置,适用于复杂的应用场景。以下是一个多数据库配置的示例:

TORTOISE_ORM = {
    "connections": {
        "default": "mysql://root:123456@127.0.0.1:3306/test",
        "second": "postgres://user:password@localhost:5432/test",
    },
    "apps": {
        "models": {
            "models": ["aerich.models", "your_app.models"],
            "default_connection": "default",
        },
        "models_second": {
            "models": ["your_app.models_second"],
            "default_connection": "second",
        },
    },
}

3.2 回滚迁移

如果需要回滚到之前的版本,可以使用以下命令:

aerich downgrade

3.3 查看迁移历史

查看所有迁移记录:

aerich history

查看当前可用的迁移记录:

aerich heads

4. 典型生态项目

4.1 TortoiseORM

TortoiseORM 是一个异步 ORM,适用于 Python 的异步框架,如 FastAPI 和 Sanic。Aerich 作为 TortoiseORM 的官方迁移工具,与其紧密集成,提供了完整的数据库迁移解决方案。

4.2 FastAPI

FastAPI 是一个现代、快速的 Web 框架,基于 Python 的异步特性。结合 TortoiseORM 和 Aerich,可以快速构建高性能的异步 Web 应用,并轻松管理数据库迁移。

4.3 Sanic

Sanic 是另一个高性能的异步 Web 框架,与 TortoiseORM 和 Aerich 结合使用,可以实现高效的数据库操作和迁移管理。

通过以上模块的介绍,您可以快速上手使用 Aerich 进行数据库迁移,并了解其在不同应用场景中的最佳实践。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起