| 12345678910111213141516171819202122232425 |
- from sqlalchemy import JSON, String, UniqueConstraint
- from sqlalchemy.orm import Mapped, mapped_column
- from app.core.base_model import ModelMixin, UserMixin
- class WorkflowModel(ModelMixin, UserMixin):
- """
- 工作流定义:Vue Flow 画布序列化 + Prefect 运行时执行
- """
- __tablename__: str = "task_workflow"
- __table_args__ = (UniqueConstraint("code", name="uq_task_workflow_code"), {"comment": "工作流定义表"})
- __loader_options__: list[str] = ["created_by", "updated_by"]
- name: Mapped[str] = mapped_column(String(128), nullable=False, comment="流程名称")
- code: Mapped[str] = mapped_column(String(64), nullable=False, comment="流程编码")
- workflow_status: Mapped[str] = mapped_column(
- String(32),
- nullable=False,
- default="draft",
- comment="流程状态: draft/published/archived",
- )
- nodes: Mapped[list | None] = mapped_column(JSON, nullable=True, comment="Vue Flow nodes JSON")
- edges: Mapped[list | None] = mapped_column(JSON, nullable=True, comment="Vue Flow edges JSON")
|