ThingsKit物联网平台版本更新问题

如何确认当前版本?

❓ 如何判断当前后台使用的版本?

答案

在进行升级前,先确认当前版本。打开README-DEFAULT.md文件拉到最后一行,即可查看对应版本

ThingsKit物联网平台版本更新问题

如何升级?

❓ 知道当前版本后,如何升级?执行哪个升级文件?

答案

💡提示

在进行升级时,不可以跨版本升级,以免更新遗漏。升级只需要执行thingsKitxxx-xxx.sql文件,其他均不用执行。

在后台代码找到application/src/main/data/upgrade/thingskit目录,使用当前版本开头的sql进行升级。

ThingsKit物联网平台版本更新问题

升级过程中主键冲突怎么处理?

❓ 在执行升级过程中,遇到主键冲突的数据该如何处理?

答案

在升级过程中,遇到主键冲突,主要是insert语句(菜单、字典表)。这种情况下,我们需要将insert语句改为update语句,并查看新数据与元数据的差异。

#insert插入语句
INSERT INTO "public"."sys_menu"("id", "parent_id", "path", "type", "permission", "creator", "create_time", "updater", "update_time", "name", "tenant_id", "component", "redirect", "alias", "case_sensitive", "meta", "sort") VALUES ('2245a152-1118-4a1e-a233-ab5815a5dfc5', 'b70e8a49-014f-4a4a-965f-f179ae746eee', NULL, 'SYSADMIN', 'api:yt:template:sendEmail:post', '80808080-8080-8080-8080-808080808080', '2023-09-14 10:23:17.676419', NULL, NULL, '发送', '13814000-1dd2-11b2-8080-808080808080', NULL, NULL, NULL, NULL, '{"title":"发送","menuType":"2","status":"0"}', 4);

#update更新语句
UPDATE "public"."sys_menu" SET "parent_id" = 'b70e8a49-014f-4a4a-965f-f179ae746eee', "path" = NULL, "type" = 'SYSADMIN', "permission" = 'api:yt:template:sendEmail:post', "creator" = '80808080-8080-8080-8080-808080808080', "create_time" = '2023-09-14 10:23:17.676419', "updater" = NULL, "update_time" = NULL, "name" = '发送', "tenant_id" = '13814000-1dd2-11b2-8080-808080808080', "component" = NULL, "redirect" = NULL, "alias" = NULL, "case_sensitive" = NULL, "meta" = '{"title":"发送","menuType":"2","status":"0"}', "sort" = 4 WHERE "id" = '2245a152-1118-4a1e-a233-ab5815a5dfc5';