From edb24261dc8c35a76fba7b6470b714d32319eca5 Mon Sep 17 00:00:00 2001 From: AlanJager Date: Mon, 19 Jan 2026 14:24:51 +0800 Subject: [PATCH] [sdk]: Modify model id of ModelVO DBImpact Resolves: ZSTAC-81290 Change-Id: I65726a626f6d6d6d7a7a716f6578656a65776c71 --- conf/db/upgrade/V5.5.6__schema.sql | 8 ++++++++ sdk/src/main/java/org/zstack/sdk/AddModelAction.java | 3 +++ sdk/src/main/java/org/zstack/sdk/UpdateModelAction.java | 3 +++ 3 files changed, 14 insertions(+) diff --git a/conf/db/upgrade/V5.5.6__schema.sql b/conf/db/upgrade/V5.5.6__schema.sql index 69eee484a0..4b92ec28fb 100644 --- a/conf/db/upgrade/V5.5.6__schema.sql +++ b/conf/db/upgrade/V5.5.6__schema.sql @@ -6,3 +6,11 @@ ALTER TABLE `GuestVmScriptExecutedRecordDetailVO` CALL ADD_COLUMN('PciDeviceVO', 'vmPciDeviceAddress', 'varchar(32)', 1, NULL); CALL ADD_COLUMN('MdevDeviceVO', 'mdevDeviceAddress', 'varchar(32)', 1, NULL); + +-- Add index for modelId field to support duplicate checking +-- Use CREATE_INDEX procedure (defined in beforeMigrate.sql) for idempotent operation +CALL CREATE_INDEX('ModelVO', 'idx_modelId', 'modelId'); + +-- Upgrade existing data: set modelId to uuid if modelId is NULL +-- This UPDATE is idempotent: WHERE clause ensures only NULL values are updated +UPDATE ModelVO SET modelId = uuid WHERE modelId IS NULL; diff --git a/sdk/src/main/java/org/zstack/sdk/AddModelAction.java b/sdk/src/main/java/org/zstack/sdk/AddModelAction.java index d05730e861..993a073b9c 100644 --- a/sdk/src/main/java/org/zstack/sdk/AddModelAction.java +++ b/sdk/src/main/java/org/zstack/sdk/AddModelAction.java @@ -67,6 +67,9 @@ public Result throwExceptionIfError() { @Param(required = false, maxLength = 512, nonempty = false, nullElements = false, emptyString = true, noTrim = false) public java.lang.String gpuConstraintDescription; + @Param(required = false, maxLength = 255, nonempty = false, nullElements = false, emptyString = true, noTrim = false) + public java.lang.String modelId; + @Param(required = false) public java.lang.String resourceUuid; diff --git a/sdk/src/main/java/org/zstack/sdk/UpdateModelAction.java b/sdk/src/main/java/org/zstack/sdk/UpdateModelAction.java index 108cfa2e38..d8a6de859d 100644 --- a/sdk/src/main/java/org/zstack/sdk/UpdateModelAction.java +++ b/sdk/src/main/java/org/zstack/sdk/UpdateModelAction.java @@ -52,6 +52,9 @@ public Result throwExceptionIfError() { @Param(required = false, maxLength = 512, nonempty = false, nullElements = false, emptyString = true, noTrim = false) public java.lang.String gpuConstraintDescription; + @Param(required = false, maxLength = 255, nonempty = false, nullElements = false, emptyString = true, noTrim = false) + public java.lang.String modelId; + @Param(required = false) public java.util.List systemTags;