工作流表设计
1. 流程管理
workflows
表
用于存储所有的工作流信息。
CREATE TABLE `workflows` (
`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
`name` VARCHAR(255) NOT NULL COMMENT '工作流名称',
`description` TEXT COMMENT '工作流描述',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT='工作流表';
workflow_steps
表
用于存储每个工作流的步骤。
CREATE TABLE `workflow_steps` (
`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
`workflow_id` INT NOT NULL COMMENT '关联的工作流ID',
`step_name` VARCHAR(255) NOT NULL COMMENT '步骤名称',
`step_order` INT NOT NULL COMMENT '步骤顺序',
`assigned_role` VARCHAR(255) COMMENT '分配的角色',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
FOREIGN KEY (`workflow_id`) REFERENCES `workflows`(`id`) ON DELETE CASCADE
) COMMENT='工作流步骤表';
2. 表单管理
forms
表
用于存储所有表单的信息。
CREATE TABLE `forms` (
`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
`name` VARCHAR(255) NOT NULL COMMENT '表单名称',
`description` TEXT COMMENT '表单描述',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) COMMENT='表单表';
form_fields
表
用于存储每个表单的字段。
CREATE TABLE `form_fields` (
`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
`form_id` INT NOT NULL COMMENT '关联的表单ID',
`field_name` VARCHAR(255) NOT NULL COMMENT '字段名称',
`field_type` VARCHAR(255) NOT NULL COMMENT '字段类型',
`is_required` BOOLEAN DEFAULT FALSE COMMENT '是否必填',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
FOREIGN KEY (`form_id`) REFERENCES `forms`(`id`) ON DELETE CASCADE
) COMMENT='表单字段表';
3. 流程监控
workflow_instances
表
用于存储每个工作流实例的状态。
CREATE TABLE `workflow_instances` (
`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
`workflow_id` INT NOT NULL COMMENT '关联的工作流ID',
`status` VARCHAR(255) NOT NULL COMMENT '实例状态',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
FOREIGN KEY (`workflow_id`) REFERENCES `workflows`(`id`) ON DELETE CASCADE
) COMMENT='工作流实例表';
workflow_instance_steps
表
用于存储每个工作流实例的步骤状态。
CREATE TABLE `workflow_instance_steps` (
`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
`workflow_instance_id` INT NOT NULL COMMENT '关联的工作流实例ID',
`step_id` INT NOT NULL COMMENT '关联的步骤ID',
`status` VARCHAR(255) NOT NULL COMMENT '步骤状态',
`started_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '步骤开始时间',
`completed_at` TIMESTAMP NULL COMMENT '步骤完成时间',
FOREIGN KEY (`workflow_instance_id`) REFERENCES `workflow_instances`(`id`) ON DELETE CASCADE,
FOREIGN KEY (`step_id`) REFERENCES `workflow_steps`(`id`) ON DELETE CASCADE
) COMMENT='工作流实例步骤表';
form_submissions
表
用于存储表单的提交信息。
CREATE TABLE `form_submissions` (
`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
`form_id` INT NOT NULL COMMENT '关联的表单ID',
`submitted_by` INT NOT NULL COMMENT '提交者ID',
`submission_data` TEXT NOT NULL COMMENT '提交的数据',
`submitted_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '提交时间',
FOREIGN KEY (`form_id`) REFERENCES `forms`(`id`) ON DELETE CASCADE
) COMMENT='表单提交表';
关系图
- 一个工作流 (
workflows
) 可以有多个步骤 (workflow_steps
)。 - 一个表单 (
forms
) 可以有多个字段 (form_fields
)。 - 一个工作流实例 (
workflow_instances
) 可以有多个实例步骤 (workflow_instance_steps
)。 - 一个表单 (
forms
) 可以有多个提交 (form_submissions
)。
这些表结构可以满足基本的流程管理、表单管理和流程监控的需求。根据具体业务需求,可能需要进一步调整和扩展。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~