fastapi-demo/DEV_CONFIG.md

111 lines
2.4 KiB
Markdown
Raw Normal View History

# 开发环境配置总结
## 🎯 数据库配置
### 连接信息
- **主机**: localhost
- **端口**: 3306
- **用户名**: root
- **密码**: 123456
- **数据库名**: fast_demo
- **字符集**: utf8mb4
### 连接URL
```
mysql+pymysql://root:123456@localhost:3306/fast_demo?charset=utf8mb4
```
## 📁 配置文件
### 1. 应用配置 (`app/core/config.py`)
已更新默认数据库配置:
```python
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
```ini
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. 启动应用
```bash
python main.py
```
### 2. 访问API文档
- Swagger UI: http://127.0.0.1:8000/docs
- ReDoc: http://127.0.0.1:8000/redoc
### 3. 数据库管理
```bash
# 初始化数据库
python database_manager.py init
# 重置数据库
python database_manager.py reset
# 查看帮助
python database_manager.py help
```
## 🔧 环境变量
可以通过环境变量覆盖配置:
```bash
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. 生产环境请修改默认密码和配置