1.6 KiB
1.6 KiB
注册失败问题 - 已解决 ✅
问题原因
注册失败有两个原因:
- 数据库不存在 - 数据库
agent_db不存在 - 密码哈希错误 - passlib的bcrypt在初始化时遇到密码长度限制问题
解决方案
1. 创建数据库 ✅
已成功创建数据库和所有表结构:
# 创建数据库
docker-compose -f docker-compose.dev.yml exec backend python /app/scripts/create_database.py
# 创建表结构
docker-compose -f docker-compose.dev.yml exec backend python -c "from app.core.database import init_db; init_db(); print('✅ 数据库表创建成功')"
2. 修复密码哈希 ✅
将密码加密从 passlib 改为直接使用 bcrypt 库,避免初始化时的bug检测问题:
- 使用
bcrypt.hashpw()和bcrypt.checkpw()直接处理密码 - 正确处理72字节长度限制
- 移除了对
passlib的依赖
验证
✅ 数据库创建成功 ✅ 表结构创建成功 ✅ 注册功能测试通过
测试结果
curl -X POST http://localhost:8037/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{"username":"demo","email":"demo@test.com","password":"demo123"}'
# 返回: {"id":"...","username":"demo","email":"demo@test.com","role":"user"}
已创建的表
- ✅
users- 用户表 - ✅
workflows- 工作流表 - ✅
agents- 智能体表 - ✅
executions- 执行记录表 - ✅
model_configs- 模型配置表
下一步
现在可以:
- ✅ 注册新用户
- ✅ 登录系统
- ✅ 创建工作流
- ✅ 使用可视化编辑器
状态: ✅ 已解决 时间: 2024年