Skip to content

fastapi-practices/fastapi_sqlalchemy_mysql

Repository files navigation

FastAPI SQLAlchemy MySQL

Static Badge

Tip

此仓库是我们构建的 FastAPI 基础架构便捷版,完整版请查看: fastapi_best_architecture

特征

  • FastAPI
  • Async design
  • Restful API
  • SQLAlchemy 2.0
  • Pydantic 2.0
  • Docker
  • ......

本地开发

  • Python 3.10+
  • Mysql 8.0+
  • Redis 推荐最新稳定版
  1. 安装依赖项

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

  3. 安装启动 Redis

  4. 进入 backend 目录

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

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

  7. 数据库迁移 alembic

    # 生成迁移文件
    alembic revision --autogenerate
    
    # 执行迁移
    alembic upgrade head
  8. 启动 fastapi 服务

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


Docker

Warning

默认端口冲突:8000,3306,6379

建议在部署前关闭本地服务:mysql,redis...

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

    cd 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 许可证的条款进行许可