diff --git a/database/fix_task_approval_log.sql b/database/fix_task_approval_log.sql new file mode 100644 index 0000000..784a125 --- /dev/null +++ b/database/fix_task_approval_log.sql @@ -0,0 +1,36 @@ +-- 修复 task_approval_log 表结构,添加缺失的字段 +-- 问题:实体类 TaskApprovalLog 定义的字段与数据库表不匹配 +-- 解决:重新创建表或添加缺失的字段 + +-- 方案1:删除旧表并重新创建(推荐,如果没有重要数据) +DROP TABLE IF EXISTS task_approval_log; + +CREATE TABLE task_approval_log ( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键', + task_id BIGINT NOT NULL COMMENT '任务ID', + approval_level INT NULL COMMENT '审核级别:1-需求部门,2-接单部门', + approver_id BIGINT NOT NULL COMMENT '审核人ID', + approver_name VARCHAR(100) NULL COMMENT '审核人姓名', + action VARCHAR(20) NOT NULL COMMENT '操作:approve/reject/modify', + comment TEXT NULL COMMENT '审核意见', + changes TEXT NULL COMMENT '修改的内容(JSON格式)', + create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + INDEX idx_task_id (task_id), + INDEX idx_approver_id (approver_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务审核记录表'; + +-- 验证表结构 +SELECT + COLUMN_NAME, + COLUMN_TYPE, + IS_NULLABLE, + COLUMN_DEFAULT, + COLUMN_COMMENT +FROM + INFORMATION_SCHEMA.COLUMNS +WHERE + TABLE_SCHEMA = DATABASE() + AND TABLE_NAME = 'task_approval_log' +ORDER BY + ORDINAL_POSITION; +