Files
aiagent/backend/app/models/workflow.py
renjianbo beff3fac8d fix: delete agent 500 error + dynamic personality + deployment guide
- Fix delete agent 500: clean up FK records (agent_llm_logs, permissions,
  schedules, executions, team_members) and unbind goals/tasks before delete
- Remove hardcoded personality templates in Android, replace with dynamic
  system prompt generation from name + description
- Set promptSectionsEnabled=false to bypass PromptComposer for personality
- Add Tencent Cloud Linux deployment guide (Docker Compose)
- Accumulated backend service updates, frontend UI fixes, Android app changes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-29 01:17:21 +08:00

36 lines
1.4 KiB
Python

"""
工作流模型
"""
from sqlalchemy import Column, String, Text, Integer, DateTime, JSON, ForeignKey, Index, func
from sqlalchemy.dialects.mysql import CHAR
from sqlalchemy.orm import relationship
from app.core.database import Base
import uuid
class Workflow(Base):
"""工作流表"""
__tablename__ = "workflows"
id = Column(CHAR(36), primary_key=True, default=lambda: str(uuid.uuid4()), comment="工作流ID")
name = Column(String(100), nullable=False, comment="工作流名称")
description = Column(Text, comment="描述")
nodes = Column(JSON, nullable=False, comment="节点配置")
edges = Column(JSON, nullable=False, comment="边配置")
version = Column(Integer, default=1, comment="版本号")
status = Column(String(20), default="draft", comment="状态: draft/published/running/stopped")
user_id = Column(CHAR(36), ForeignKey("users.id"), comment="创建者ID")
workspace_id = Column(CHAR(36), ForeignKey("workspaces.id"), nullable=True, comment="所属工作区ID")
created_at = Column(DateTime, default=func.now(), comment="创建时间")
updated_at = Column(DateTime, default=func.now(), onupdate=func.now(), comment="更新时间")
# 关系
user = relationship("User", backref="workflows")
__table_args__ = (
Index("ix_workflows_workspace", "workspace_id"),
)
def __repr__(self):
return f"<Workflow(id={self.id}, name={self.name})>"