FastAPI SQLAlchemy MySQL 项目搭建指南
项目介绍
FastAPI SQLAlchemy MySQL 是一个基于 FastAPI 的现代web应用框架实例,它结合了 SQLAlchemy 2.0、Pydantic v2、Alembic(用于数据库迁移)以及 MySQL 和 Redis,提供了一套高效且结构清晰的后端开发解决方案。该项目旨在快速搭建RESTful API,适用于需要高性能与数据库交互的应用场景。通过异步设计、最新的Python版本支持以及容器化部署(Docker),确保了开发效率与生产准备就绪。
项目下载位置
要获取此项目,可以通过访问其在 GitHub 的主页实现:fastapi_practices/fastapi_sqlalchemy_mysql。点击页面上的 "Code" 按钮,并选择“Download ZIP”或者通过Git克隆项目:
git clone https://github.com/fastapi-practices/fastapi_sqlalchemy_mysql.git
项目安装环境配置
必需软件
- Python 3.10+: 确保你的系统已安装 Python 3.10 或更高版本。
- pip: Python 包管理工具。
- MySQL: 8.0+ 版本的MySQL服务器。
- Redis: 推荐使用最新稳定版。
- Docker: 可选,用于简化开发和部署过程。
图片示例(请注意,此处无法直接展示图片,但以下是步骤描述)
-
检查Python版本: 在终端输入
python --version
或python3 --version
确认。 -
虚拟环境(推荐): 使用
venv
创建虚拟环境:python3 -m venv env source env/bin/activate # 对于Windows是 `.\env\Scripts\activate`
-
安装依赖: 在项目根目录下运行:
pip install -r requirements.txt
项目安装方式
安装及数据库设置
-
数据库配置:首先,你需要创建一个名为
fsm
的MySQL数据库,并设置编码为utf8mb4
。 -
配置环境变量:复制并按需编辑
backend/env.example
文件为env
,设置数据库连接等信息。 -
数据库迁移:
- 进入
backend
目录。 - 初始化 Alembic 配置(若未自动生成相关文件),然后生成迁移脚本:
alembic revision --autogenerate -m "Initial migration"
- 应用这些迁移至数据库:
alembic upgrade head
- 进入
启动服务
-
开发模式:
cd backend fastapi dev main.py
-
若使用 Docker 部署,请进入
deploy/docker-compose
目录并执行:docker-compose up -d --build
注意解决可能的端口冲突,如默认的8000、3306、6379端口。
项目处理脚本
项目的核心在于它的启动脚本和Alembic脚本。主要启动逻辑位于 backend/main.py
,而数据库的结构变更通过Alembic版本控制,其脚本保存在 alembic/versions
目录下。对于日常开发,关注 main.py
和配置文件以调整应用程序的行为,同时使用Alembic命令来管理数据库迁移。
通过遵循以上步骤,您将成功搭建起基于FastAPI的复杂后端服务,利用SQLAlchemy进行数据操作,确保了项目的健壮性和扩展性。记得在实际操作中调整配置以符合个人或团队的开发习惯。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考