Skip to content

Commit dd08c68

Browse files
authored
fix: update Nacos SQL schema and Skill service compatibility (higress-group#214)
- Remove IF NOT EXISTS from Nacos CREATE TABLE statements for cleaner schema init - Add c_from column to ai_resource table for tracking import source - Update unique key on ai_resource to include c_from field - Update listSkills call to match new Nacos SDK method signature - Improve error logging in SkillServiceImpl with full stack trace 🤖 Generated with [Qoder][https://qoder.com]
1 parent 9612f89 commit dd08c68

File tree

2 files changed

+19
-18
lines changed

2 files changed

+19
-18
lines changed

deploy/helm/nacos/sql/mysql-schema.sql

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
/******************************************/
1818
/* 表名称 = config_info */
1919
/******************************************/
20-
CREATE TABLE IF NOT EXISTS `config_info` (
20+
CREATE TABLE `config_info` (
2121
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
2222
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
2323
`group_id` varchar(128) DEFAULT NULL COMMENT 'group_id',
@@ -42,7 +42,7 @@ CREATE TABLE IF NOT EXISTS `config_info` (
4242
/******************************************/
4343
/* 表名称 = config_info since 2.5.0 */
4444
/******************************************/
45-
CREATE TABLE IF NOT EXISTS `config_info_gray` (
45+
CREATE TABLE `config_info_gray` (
4646
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
4747
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
4848
`group_id` varchar(128) NOT NULL COMMENT 'group_id',
@@ -66,7 +66,7 @@ CREATE TABLE IF NOT EXISTS `config_info_gray` (
6666
/******************************************/
6767
/* 表名称 = config_tags_relation */
6868
/******************************************/
69-
CREATE TABLE IF NOT EXISTS `config_tags_relation` (
69+
CREATE TABLE `config_tags_relation` (
7070
`id` bigint(20) NOT NULL COMMENT 'id',
7171
`tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
7272
`tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
@@ -82,7 +82,7 @@ CREATE TABLE IF NOT EXISTS `config_tags_relation` (
8282
/******************************************/
8383
/* 表名称 = group_capacity */
8484
/******************************************/
85-
CREATE TABLE IF NOT EXISTS `group_capacity` (
85+
CREATE TABLE `group_capacity` (
8686
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
8787
`group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
8888
`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
@@ -100,7 +100,7 @@ CREATE TABLE IF NOT EXISTS `group_capacity` (
100100
/******************************************/
101101
/* 表名称 = his_config_info */
102102
/******************************************/
103-
CREATE TABLE IF NOT EXISTS `his_config_info` (
103+
CREATE TABLE `his_config_info` (
104104
`id` bigint(20) unsigned NOT NULL COMMENT 'id',
105105
`nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识',
106106
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
@@ -128,7 +128,7 @@ CREATE TABLE IF NOT EXISTS `his_config_info` (
128128
/******************************************/
129129
/* 表名称 = tenant_capacity */
130130
/******************************************/
131-
CREATE TABLE IF NOT EXISTS `tenant_capacity` (
131+
CREATE TABLE `tenant_capacity` (
132132
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
133133
`tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
134134
`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',
@@ -144,7 +144,7 @@ CREATE TABLE IF NOT EXISTS `tenant_capacity` (
144144
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租户容量信息表';
145145

146146

147-
CREATE TABLE IF NOT EXISTS `tenant_info` (
147+
CREATE TABLE `tenant_info` (
148148
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
149149
`kp` varchar(128) NOT NULL COMMENT 'kp',
150150
`tenant_id` varchar(128) default '' COMMENT 'tenant_id',
@@ -158,19 +158,19 @@ CREATE TABLE IF NOT EXISTS `tenant_info` (
158158
KEY `idx_tenant_id` (`tenant_id`)
159159
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='tenant_info';
160160

161-
CREATE TABLE IF NOT EXISTS `users` (
161+
CREATE TABLE `users` (
162162
`username` varchar(50) NOT NULL PRIMARY KEY COMMENT 'username',
163163
`password` varchar(500) NOT NULL COMMENT 'password',
164164
`enabled` boolean NOT NULL COMMENT 'enabled'
165165
);
166166

167-
CREATE TABLE IF NOT EXISTS `roles` (
167+
CREATE TABLE `roles` (
168168
`username` varchar(50) NOT NULL COMMENT 'username',
169169
`role` varchar(50) NOT NULL COMMENT 'role',
170170
UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
171171
);
172172

173-
CREATE TABLE IF NOT EXISTS `permissions` (
173+
CREATE TABLE `permissions` (
174174
`role` varchar(50) NOT NULL COMMENT 'role',
175175
`resource` varchar(128) NOT NULL COMMENT 'resource',
176176
`action` varchar(8) NOT NULL COMMENT 'action',
@@ -181,7 +181,7 @@ CREATE TABLE IF NOT EXISTS `permissions` (
181181
/******************************************/
182182
/* 表名称 = pipeline_execution */
183183
/******************************************/
184-
CREATE TABLE IF NOT EXISTS `pipeline_execution` (
184+
CREATE TABLE `pipeline_execution` (
185185
`execution_id` varchar(64) NOT NULL COMMENT '执行ID',
186186
`resource_type` varchar(32) NOT NULL COMMENT '资源类型',
187187
`resource_name` varchar(256) NOT NULL COMMENT '资源名称',
@@ -197,7 +197,7 @@ CREATE TABLE IF NOT EXISTS `pipeline_execution` (
197197
/******************************************/
198198
/* 表名称 = ai_resource */
199199
/******************************************/
200-
CREATE TABLE IF NOT EXISTS `ai_resource` (
200+
CREATE TABLE `ai_resource` (
201201
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
202202
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
203203
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
@@ -208,13 +208,14 @@ CREATE TABLE IF NOT EXISTS `ai_resource` (
208208
`namespace_id` varchar(128) NOT NULL DEFAULT '' COMMENT '命名空间ID',
209209
`biz_tags` varchar(1024) DEFAULT NULL COMMENT '业务标签',
210210
`ext` longtext DEFAULT NULL COMMENT '扩展信息(JSON)',
211+
`c_from` varchar(256) NOT NULL DEFAULT 'local' COMMENT '来源标识(导入/同步来源)',
211212
`version_info` longtext DEFAULT NULL COMMENT '版本信息(JSON)',
212213
`meta_version` bigint(20) NOT NULL DEFAULT 1 COMMENT '元数据版本(乐观锁)',
213214
`scope` varchar(16) NOT NULL DEFAULT 'PRIVATE' COMMENT '可见性: PUBLIC/PRIVATE',
214215
`owner` varchar(128) NOT NULL DEFAULT '' COMMENT '创建者用户名',
215216
`download_count` bigint(20) NOT NULL DEFAULT 0 COMMENT '下载次数',
216217
PRIMARY KEY (`id`),
217-
UNIQUE KEY `uk_ai_resource_ns_name_type` (`namespace_id`,`name`,`type`),
218+
UNIQUE KEY `uk_ai_resource_ns_name_type` (`namespace_id`,`name`,`type`,`c_from`),
218219
KEY `idx_ai_resource_name` (`name`),
219220
KEY `idx_ai_resource_type` (`type`),
220221
KEY `idx_ai_resource_gmt_modified` (`gmt_modified`)
@@ -223,7 +224,7 @@ CREATE TABLE IF NOT EXISTS `ai_resource` (
223224
/******************************************/
224225
/* 表名称 = ai_resource_version */
225226
/******************************************/
226-
CREATE TABLE IF NOT EXISTS `ai_resource_version` (
227+
CREATE TABLE `ai_resource_version` (
227228
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
228229
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
229230
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
@@ -242,5 +243,4 @@ CREATE TABLE IF NOT EXISTS `ai_resource_version` (
242243
KEY `idx_ai_resource_ver_name` (`name`),
243244
KEY `idx_ai_resource_ver_status` (`status`),
244245
KEY `idx_ai_resource_ver_gmt_modified` (`gmt_modified`)
245-
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AI资源版本表';
246-
246+
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AI资源版本表';

himarket-server/src/main/java/com/alibaba/himarket/service/impl/SkillServiceImpl.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ public List<FileTreeNode> getFileTree(String productId, String version) {
150150
Skill skill = fetchSkill(ref, version);
151151
return FileTreeBuilder.build(skill);
152152
} catch (Exception e) {
153-
log.warn("Failed to fetch file tree for Skill {}", ref.getSkillName());
153+
log.warn("Failed to fetch file tree for Skill {}", ref.getSkillName(), e);
154154
return Collections.emptyList();
155155
}
156156
}
@@ -656,7 +656,8 @@ public void onProductQueried(ProductQueriedEvent event) {
656656
private void syncSkillGroup(String nacosId, String namespace, List<Product> products) {
657657
try {
658658
AiMaintainerService aiService = nacosService.getAiMaintainerService(nacosId);
659-
Page<SkillSummary> page = aiService.skill().listSkills(namespace, 1, Integer.MAX_VALUE);
659+
Page<SkillSummary> page =
660+
aiService.skill().listSkills(namespace, null, null, 1, Integer.MAX_VALUE);
660661

661662
if (page == null || CollUtil.isEmpty(page.getPageItems())) {
662663
return;

0 commit comments

Comments
 (0)