Skip to content

fastapi-practices/fastapi_tortoise_mysql

Repository files navigation

FastAPI Tortoise Architecture

作为 FastAPI 框架的一个基础项目,基于 python3.10 开发

特征

  • FastAPI > 0.100.0
  • Async design
  • Restful API
  • Tortoise-orm > 0.20.0
  • Pydantic 2.0
  • Docker
  • ......

使用

Warning

此过程请格外注意端口占用情况, 特别是 8000, 3306, 6379...

1: 传统

  1. 安装依赖项

    pip install -r requirements.txt
  2. 创建一个数据库 ftm, 选择 utf8mb4 编码

  3. 安装启动 Redis

  4. 进入 backend 目录

    cd backend
  5. 创建一个 .env 文件

    touch .env
    cp .env.example .env
  6. 按需修改配置文件 core/conf.py.env

  7. 数据库迁移

    # 初始化数据库,生成迁移文件
    aerich init-db
    
    # 执行迁移
    aerich upgrade
    
    # 当更新数据库 model 后,执行下面两个命令进行迁移
    aerich migrate
    aerich upgrade
  8. 启动 fastapi 服务

    # 帮助
    fastapi --help
    
    # 开发模式
    fastapi dev main.py
  9. 浏览器访问: http://127.0.0.1:8000/api/v1/docs


2: docker

  1. 进入 docker-compose.yml 文件所在目录,创建环境变量文件 .env

    dcd deploy/docker-compose/
    
    cp .env.server ../../../backend/.env
  2. 执行一键启动命令

    docker-compose up -d --build
  3. 等待命令自动完成

  4. 浏览器访问:http://127.0.0.1:8000/api/v1/docs

互动

WeChat / QQ

赞助

如果此项目能够帮助到你,你可以赞助作者一些咖啡豆表示鼓励:☕ Sponsor ☕

许可证

本项目根据 MIT 许可证的条款进行许可

About

fastapi 基础脚手架, fastapi + pydantic-v2 + tortoise-orm + aerich + mysql + redis

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages