fastapi-demo/DEV_CONFIG.md

3.1 KiB
Raw Permalink Blame History

开发环境配置总结

🐍 Python 环境

Conda 环境配置

  • 环境名称: fastapi-demo (或您的自定义名称)
  • Python版本: 3.11
  • 激活方式: conda activate fastapi-demo

环境准备

# 1. 激活 conda 环境(每次开发前必须执行)
conda activate fastapi-demo

# 2. 安装项目依赖
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

# 3. 验证环境
python --version  # 应显示 Python 3.11.x
pip list         # 查看已安装的包

🎯 数据库配置

连接信息

  • 主机: localhost
  • 端口: 3306
  • 用户名: root
  • 密码: 123456
  • 数据库名: fast_demo
  • 字符集: utf8mb4

连接URL

mysql+pymysql://root:123456@loc alhost:3306/fast_demo?charset=utf8mb4

📁 配置文件

1. 应用配置 (app/core/config.py)

已更新默认数据库配置:

DB_HOST: str = "localhost"
DB_PORT: int = 3306
DB_USER: str = "root"
DB_PASSWORD: str = "123456"
DB_NAME: str = "fast_demo"
DB_CHARSET: str = "utf8mb4"

2. Alembic配置 (alembic.ini)

已更新数据库URL

sqlalchemy.url = mysql+pymysql://root:123456@localhost:3306/fast_demo?charset=utf8mb4

🗄️ 数据库表

用户表 (users)

字段 类型 说明
id int(11) 主键,自增
username varchar(50) 用户名,唯一
email varchar(100) 邮箱,唯一
full_name varchar(100) 全名,可空
is_active tinyint(1) 是否激活
created_at datetime 创建时间
updated_at datetime 更新时间

产品表 (products)

字段 类型 说明
id int(11) 主键,自增
name varchar(200) 产品名称
description text 产品描述,可空
price decimal(10,2) 价格
stock int(11) 库存数量
is_available tinyint(1) 是否可用
created_at datetime 创建时间
updated_at datetime 更新时间

🚀 快速开始

1. 激活环境并启动应用

# 激活 conda 环境
conda activate fastapi-demo

# 启动应用
python main.py

# 或指定环境启动
set ENVIRONMENT=development && python main.py

2. 访问API文档

3. 数据库管理

# 初始化数据库
python database_manager.py init

# 重置数据库
python database_manager.py reset

# 查看帮助
python database_manager.py help

🔧 环境变量

可以通过环境变量覆盖配置:

export DB_HOST=localhost
export DB_PORT=3306
export DB_USER=root
export DB_PASSWORD=123456
export DB_NAME=fast_demo

验证配置

数据库连接已成功验证:

  • 数据库 'fast_demo' 已存在
  • 数据库连接成功
  • 表 'users' 和 'products' 已创建
  • 示例数据已插入

📝 注意事项

  1. 确保MySQL服务正在运行
  2. 确保用户 'root' 有访问数据库的权限
  3. 开发环境配置已优化,包含热重载等功能
  4. 生产环境请修改默认密码和配置