版本升级后数据表workflow_manual_tasks相关报错,系统无法启动

* 描述问题

从1.7.0 beta1升级到beta3后报错:
Migration 20250312100512-change-table-name/@nocobase/plugin-workflow-manual (up) failed: Original error: (conn=54835, no: 1072, SQLState: 42000) Key column ‘id’ doesn’t exist in table
sql: ALTER TABLE workflow_manual_tasks DROP PRIMARY KEY, ADD PRIMARY KEY (id) - parameters:: (conn=54835, no: 1072, SQLState: 42000) Key column ‘id’ doesn’t exist in table
sql: ALTER TABLE workflow_manual_tasks DROP PRIMARY KEY, ADD PRIMARY KEY (id) - parameters:

重启应用后报错:
(conn=54839, no: 1068, SQLState: 42000) Multiple primary key defined
sql: ALTER TABLE workflow_manual_tasks ADD id BIGINT auto_increment PRIMARY KEY; - parameters:

* 运行环境

  • NocoBase 版本:1.7.0 beta3
  • 数据库种类与版本: MariaDB 11.6.2

  • 操作系统:Windows 11
    -浏览器及版本:Edge 132

  • 部署方式:Docker

  • Docker 镜像版本:nocobase/nocobase:latest

如何重现

预期行为

截图

日志

问题已修复,等下次发版,或者手动处理,删除掉 workflow_manual_tasks 表的联合主键,然后重启容器。

我是直接删掉了整个workflow_manual_tasks表,看了下里面没有什么重要数据,重启应用后表已经重建正常了,这样后面不会有什么问题吧?

如果以前里面没数据的话,暂时可以这么处理,不过为了确保以后没有影响,检查迁移表如果没有最新的迁移数据的话,需要做一些 SQL 处理:

INSERT INTO migrations (name) values ('20250312100512-change-table-name/@nocobase/plugin-workflow-manual');

DROP TABLE IF EXISTS users_jobs;

DELETE FROM fields WHERE collection_name='users' AND name='jobs';
DELETE FROM fields WHERE collection_name='jobs' AND name='users';

确认了一下,数据库里这些已经变更过了,谢谢