简易工作流数据库表设计及建表语句
时间: 2023-09-14 11:08:10 浏览: 47
以下是一个简易工作流的数据库表设计及建表语句,供参考:
## 工作流程表
CREATE TABLE workflow (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
description TEXT,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
## 工作流步骤表
CREATE TABLE workflow_step (
id INT PRIMARY KEY AUTO_INCREMENT,
workflow_id INT NOT NULL,
name VARCHAR(50) NOT NULL,
description TEXT,
position INT NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (workflow_id) REFERENCES workflow(id) ON DELETE CASCADE
);
## 工作流步骤操作表
CREATE TABLE workflow_step_operation (
id INT PRIMARY KEY AUTO_INCREMENT,
workflow_step_id INT NOT NULL,
name VARCHAR(50) NOT NULL,
description TEXT,
type ENUM('start', 'approval', 'reject', 'finish') NOT NULL,
position INT NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (workflow_step_id) REFERENCES workflow_step(id) ON DELETE CASCADE
);
## 工作流实例表
CREATE TABLE workflow_instance (
id INT PRIMARY KEY AUTO_INCREMENT,
workflow_id INT NOT NULL,
name VARCHAR(50) NOT NULL,
description TEXT,
current_step INT NOT NULL,
status ENUM('pending', 'approved', 'rejected', 'finished') NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (workflow_id) REFERENCES workflow(id) ON DELETE CASCADE
);
## 工作流实例操作表
CREATE TABLE workflow_instance_operation (
id INT PRIMARY KEY AUTO_INCREMENT,
workflow_instance_id INT NOT NULL,
workflow_step_operation_id INT NOT NULL,
approval_comment TEXT,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (workflow_instance_id) REFERENCES workflow_instance(id) ON DELETE CASCADE,
FOREIGN KEY (workflow_step_operation_id) REFERENCES workflow_step_operation(id) ON DELETE CASCADE
);
以上是一个简易的工作流数据库表设计及建表语句,具体根据业务需求进行调整。