Files
aiagent/docs/integrations/数据库迁移说明-模板市场.md
renjianbo eabf90c496 feat: add AI学习助手 agent (KG+RAG ideal) and renshenguo feishu bot
- Add AI学习助手 agent creation script with all 39 tools, 3-layer KG+RAG memory
- Add renshenguo (人参果) feishu bot integration (app_service + ws_handler)
- Register renshenguo WS client in main.py startup
- Add RENSHENGUO_APP_ID / RENSHENGUO_APP_SECRET / RENSHENGUO_AGENT_ID config
- Reorganize docs from root into docs/ subdirectories
- Move startup scripts to scripts/startup/
- Various backend optimizations and tool improvements

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-06 01:37:13 +08:00

4.5 KiB
Raw Permalink Blame History

数据库迁移说明 - 模板市场功能

📋 概述

模板市场功能需要创建3个新的数据库表:

  1. workflow_templates - 工作流模板表
  2. template_ratings - 模板评分表
  3. template_favorites - 模板收藏表

🔧 迁移方式

方式一:执行SQL脚本(推荐)

SQL脚本位置: backend/create_template_market_tables.sql

执行命令:

# 使用MySQL客户端
mysql -h [数据库地址] -u [用户名] -p [数据库名] < backend/create_template_market_tables.sql

# 例如(根据您的配置):
mysql -h gz-cynosdbmysql-grp-d26pzce5.sql.tencentcdb.com -P 24936 -u root -p agent_db < backend/create_template_market_tables.sql

方式二:重启后端服务(自动创建)

如果后端服务配置了自动创建表(使用 Base.metadata.create_all),重启服务后会自动创建表。

重启命令:

# Docker方式
docker-compose restart backend

# 或直接重启uvicorn进程

方式三:通过Python脚本创建

from app.core.database import engine, Base
from app.models.workflow_template import WorkflowTemplate, TemplateRating, TemplateFavorite

# 创建表
Base.metadata.create_all(bind=engine)

✅ 验证表是否创建成功

方法一:通过MySQL客户端查询

SHOW TABLES LIKE 'workflow_template%';
SHOW TABLES LIKE 'template_%';

应该看到:

  • workflow_templates
  • template_ratings
  • template_favorites

方法二:通过API测试

# 登录获取token
curl -X POST http://101.43.95.130:8037/api/v1/auth/login \
  -d "username=test_user&password=test_password123"

# 测试模板市场API
curl -X GET http://101.43.95.130:8037/api/v1/template-market \
  -H "Authorization: Bearer <token>"

如果返回200状态码和空数组 [],说明表已创建成功。

📊 表结构说明

workflow_templates(工作流模板表)

字段 类型 说明
id CHAR(36) 模板ID(主键)
name VARCHAR(100) 模板名称
description TEXT 模板描述
category VARCHAR(50) 分类
tags JSON 标签列表
nodes JSON 节点配置
edges JSON 边配置
thumbnail VARCHAR(500) 缩略图URL
is_public BOOLEAN 是否公开
is_featured BOOLEAN 是否精选
view_count INT 查看次数
use_count INT 使用次数
rating_count INT 评分次数
rating_avg FLOAT 平均评分
user_id CHAR(36) 创建者ID(外键)
created_at DATETIME 创建时间
updated_at DATETIME 更新时间

template_ratings(模板评分表)

字段 类型 说明
id CHAR(36) 评分ID(主键)
template_id CHAR(36) 模板ID(外键)
user_id CHAR(36) 用户ID(外键)
rating INT 评分(1-5)
comment TEXT 评论
created_at DATETIME 创建时间
updated_at DATETIME 更新时间

唯一约束: (template_id, user_id) - 每个用户对每个模板只能评分一次

template_favorites(模板收藏表)

字段 类型 说明
id CHAR(36) 收藏ID(主键)
template_id CHAR(36) 模板ID(外键)
user_id CHAR(36) 用户ID(外键)
created_at DATETIME 创建时间

唯一约束: (template_id, user_id) - 每个用户对每个模板只能收藏一次

🐛 常见问题

问题1: 表创建失败 - 外键约束错误

原因: users 表不存在或结构不匹配

解决: 确保 users 表已存在且 id 字段类型为 CHAR(36)

问题2: JSON字段不支持

原因: MySQL版本过低(需要5.7+)

解决: 升级MySQL版本或使用 TEXT 类型替代 JSON

问题3: 表已存在错误

原因: 表已经创建过

解决: 使用 CREATE TABLE IF NOT EXISTS 可以安全地重复执行

📝 迁移检查清单

  • SQL脚本已创建
  • 执行SQL脚本或重启后端服务
  • 验证表是否创建成功
  • 测试模板市场API
  • 测试前端模板市场页面

🎯 迁移完成后

迁移完成后,您可以:

  1. 使用模板市场功能:

    • 分享工作流模板
    • 搜索和浏览模板
    • 收藏和评分模板
    • 使用模板创建工作流
  2. 使用批量操作功能(不依赖新表):

    • 批量执行工作流
    • 批量导出工作流
    • 批量删除工作流

SQL脚本位置: backend/create_template_market_tables.sql
最后更新: 2024年1月17日