/* * Copyright 1999-2018 Alibaba Group Holding Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /******************************************/ /* 表名称 = config_info */ /******************************************/ CREATE TABLE `config_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) NOT NULL COMMENT 'data_id', `group_id` varchar(128) DEFAULT NULL COMMENT 'group_id', `content` longtext NOT NULL COMMENT 'content', `md5` varchar(32) DEFAULT NULL COMMENT 'md5', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `src_user` text COMMENT 'source user', `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', `c_desc` varchar(256) DEFAULT NULL COMMENT 'configuration description', `c_use` varchar(64) DEFAULT NULL COMMENT 'configuration usage', `effect` varchar(64) DEFAULT NULL COMMENT '配置生效的描述', `type` varchar(64) DEFAULT NULL COMMENT '配置的类型', `c_schema` text COMMENT '配置的模式', `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥', PRIMARY KEY (`id`), UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='config_info'; /******************************************/ /* 表名称 = config_info since 2.5.0 */ /******************************************/ CREATE TABLE `config_info_gray` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `data_id` varchar(255) NOT NULL COMMENT 'data_id', `group_id` varchar(128) NOT NULL COMMENT 'group_id', `content` longtext NOT NULL COMMENT 'content', `md5` varchar(32) DEFAULT NULL COMMENT 'md5', `src_user` text COMMENT 'src_user', `src_ip` varchar(100) DEFAULT NULL COMMENT 'src_ip', `gmt_create` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_create', `gmt_modified` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'gmt_modified', `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', `gray_name` varchar(128) NOT NULL COMMENT 'gray_name', `gray_rule` text NOT NULL COMMENT 'gray_rule', `encrypted_data_key` varchar(256) NOT NULL DEFAULT '' COMMENT 'encrypted_data_key', PRIMARY KEY (`id`), UNIQUE KEY `uk_configinfogray_datagrouptenantgray` (`data_id`,`group_id`,`tenant_id`,`gray_name`), KEY `idx_dataid_gmt_modified` (`data_id`,`gmt_modified`), KEY `idx_gmt_modified` (`gmt_modified`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='config_info_gray'; /******************************************/ /* 表名称 = config_tags_relation */ /******************************************/ CREATE TABLE `config_tags_relation` ( `id` bigint(20) NOT NULL COMMENT 'id', `tag_name` varchar(128) NOT NULL COMMENT 'tag_name', `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type', `data_id` varchar(255) NOT NULL COMMENT 'data_id', `group_id` varchar(128) NOT NULL COMMENT 'group_id', `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id', `nid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增长标识', PRIMARY KEY (`nid`), UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`), KEY `idx_tenant_id` (`tenant_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='config_tag_relation'; /******************************************/ /* 表名称 = group_capacity */ /******************************************/ CREATE TABLE `group_capacity` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群', `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值', `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值', `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_group_id` (`group_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='集群、各Group容量信息表'; /******************************************/ /* 表名称 = his_config_info */ /******************************************/ CREATE TABLE `his_config_info` ( `id` bigint(20) unsigned NOT NULL COMMENT 'id', `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'nid, 自增标识', `data_id` varchar(255) NOT NULL COMMENT 'data_id', `group_id` varchar(128) NOT NULL COMMENT 'group_id', `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name', `content` longtext NOT NULL COMMENT 'content', `md5` varchar(32) DEFAULT NULL COMMENT 'md5', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `src_user` text COMMENT 'source user', `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip', `op_type` char(10) DEFAULT NULL COMMENT 'operation type', `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段', `encrypted_data_key` varchar(1024) NOT NULL DEFAULT '' COMMENT '密钥', `publish_type` varchar(50) DEFAULT 'formal' COMMENT 'publish type gray or formal', `gray_name` varchar(50) DEFAULT NULL COMMENT 'gray name', `ext_info` longtext DEFAULT NULL COMMENT 'ext info', PRIMARY KEY (`nid`), KEY `idx_gmt_create` (`gmt_create`), KEY `idx_gmt_modified` (`gmt_modified`), KEY `idx_did` (`data_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='多租户改造'; /******************************************/ /* 表名称 = tenant_capacity */ /******************************************/ CREATE TABLE `tenant_capacity` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID', `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID', `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值', `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量', `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值', `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数', `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值', `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_tenant_id` (`tenant_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='租户容量信息表'; CREATE TABLE `tenant_info` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `kp` varchar(128) NOT NULL COMMENT 'kp', `tenant_id` varchar(128) default '' COMMENT 'tenant_id', `tenant_name` varchar(128) default '' COMMENT 'tenant_name', `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc', `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source', `gmt_create` bigint(20) NOT NULL COMMENT '创建时间', `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`), KEY `idx_tenant_id` (`tenant_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='tenant_info'; CREATE TABLE `users` ( `username` varchar(50) NOT NULL PRIMARY KEY COMMENT 'username', `password` varchar(500) NOT NULL COMMENT 'password', `enabled` boolean NOT NULL COMMENT 'enabled' ); CREATE TABLE `roles` ( `username` varchar(50) NOT NULL COMMENT 'username', `role` varchar(50) NOT NULL COMMENT 'role', UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE ); CREATE TABLE `permissions` ( `role` varchar(50) NOT NULL COMMENT 'role', `resource` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'resource', `action` varchar(8) NOT NULL COMMENT 'action', UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC; /******************************************/ /* 表名称 = pipeline_execution */ /******************************************/ CREATE TABLE `pipeline_execution` ( `execution_id` varchar(64) NOT NULL COMMENT '执行ID', `resource_type` varchar(32) NOT NULL COMMENT '资源类型', `resource_name` varchar(256) NOT NULL COMMENT '资源名称', `namespace_id` varchar(128) DEFAULT NULL COMMENT '命名空间ID', `version` varchar(64) DEFAULT NULL COMMENT '版本', `status` varchar(32) NOT NULL COMMENT '执行状态', `pipeline` longtext NOT NULL COMMENT 'pipeline节点结果JSON', `create_time` bigint(20) NOT NULL COMMENT '创建时间', `update_time` bigint(20) NOT NULL COMMENT '修改时间', PRIMARY KEY (`execution_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='AI资源发布审核Pipeline执行记录'; /******************************************/ /* 表名称 = ai_resource */ /******************************************/ CREATE TABLE `ai_resource` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `name` varchar(256) NOT NULL COMMENT '资源名称', `type` varchar(32) NOT NULL COMMENT '资源类型', `c_desc` varchar(2048) DEFAULT NULL COMMENT '资源描述', `status` varchar(32) DEFAULT NULL COMMENT '资源状态', `namespace_id` varchar(128) NOT NULL DEFAULT '' COMMENT '命名空间ID', `biz_tags` varchar(1024) DEFAULT NULL COMMENT '业务标签', `ext` longtext DEFAULT NULL COMMENT '扩展信息(JSON)', `c_from` varchar(256) NOT NULL DEFAULT 'local' COMMENT '来源标识(导入/同步来源)', `version_info` longtext DEFAULT NULL COMMENT '版本信息(JSON)', `meta_version` bigint(20) NOT NULL DEFAULT 1 COMMENT '元数据版本(乐观锁)', `scope` varchar(16) NOT NULL DEFAULT 'PRIVATE' COMMENT '可见性: PUBLIC/PRIVATE', `owner` varchar(128) NOT NULL DEFAULT '' COMMENT '创建者用户名', `download_count` bigint(20) NOT NULL DEFAULT 0 COMMENT '下载次数', PRIMARY KEY (`id`), UNIQUE KEY `uk_ai_resource_ns_name_type` (`namespace_id`,`name`,`type`,`c_from`), KEY `idx_ai_resource_name` (`name`), KEY `idx_ai_resource_type` (`type`), KEY `idx_ai_resource_gmt_modified` (`gmt_modified`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='AI资源元数据表'; /******************************************/ /* 表名称 = ai_resource_version */ /******************************************/ CREATE TABLE `ai_resource_version` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `type` varchar(32) NOT NULL COMMENT '资源类型', `author` varchar(128) DEFAULT NULL COMMENT '作者', `name` varchar(256) NOT NULL COMMENT '资源名称', `c_desc` varchar(2048) DEFAULT NULL COMMENT '版本描述', `status` varchar(32) NOT NULL COMMENT '版本状态', `version` varchar(64) NOT NULL COMMENT '版本号', `namespace_id` varchar(128) NOT NULL DEFAULT '' COMMENT '命名空间ID', `storage` longtext DEFAULT NULL COMMENT '存储信息(JSON)', `publish_pipeline_info` longtext DEFAULT NULL COMMENT '发布流水线信息(JSON)', `download_count` bigint(20) NOT NULL DEFAULT 0 COMMENT '下载次数', PRIMARY KEY (`id`), UNIQUE KEY `uk_ai_resource_ver_ns_name_type_ver` (`namespace_id`,`name`,`type`,`version`), KEY `idx_ai_resource_ver_name` (`name`), KEY `idx_ai_resource_ver_status` (`status`), KEY `idx_ai_resource_ver_gmt_modified` (`gmt_modified`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='AI资源版本表'; /******************************************/ /* 表名称 = ai_resource_search_document */ /******************************************/ CREATE TABLE `ai_resource_search_document` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `namespace_id` varchar(128) NOT NULL DEFAULT '' COMMENT '命名空间ID', `resource_type` varchar(32) NOT NULL COMMENT '资源类型', `resource_name` varchar(256) NOT NULL COMMENT '资源名称', `resource_version` varchar(64) NOT NULL COMMENT '资源版本', `display_name` varchar(256) NOT NULL COMMENT '展示名称', `c_desc` varchar(2048) DEFAULT NULL COMMENT '描述', `tags` longtext DEFAULT NULL COMMENT '标签(JSON)', `capabilities` longtext DEFAULT NULL COMMENT '能力(JSON)', `representative_queries` longtext DEFAULT NULL COMMENT '代表性查询(JSON)', `metadata` longtext DEFAULT NULL COMMENT '元数据(JSON)', `source_digest` varchar(64) NOT NULL COMMENT '来源摘要', `status` varchar(32) NOT NULL COMMENT '状态', `generate_mode` varchar(32) NOT NULL COMMENT '生成模式', PRIMARY KEY (`id`), UNIQUE KEY `uk_search_document_resource_version` (`namespace_id`,`resource_type`,`resource_name`,`resource_version`), KEY `idx_search_document_type_status` (`namespace_id`,`resource_type`,`status`,`resource_name`,`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='AI资源检索文档表'; /******************************************/ /* 表名称 = ai_resource_search_chunk */ /******************************************/ CREATE TABLE `ai_resource_search_chunk` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', `document_id` bigint(20) NOT NULL COMMENT '检索文档ID', `namespace_id` varchar(128) NOT NULL DEFAULT '' COMMENT '命名空间ID', `resource_type` varchar(32) NOT NULL COMMENT '资源类型', `resource_name` varchar(256) NOT NULL COMMENT '资源名称', `resource_version` varchar(64) NOT NULL COMMENT '资源版本', `chunk_type` varchar(64) NOT NULL COMMENT '分片类型', `chunk_text` longtext NOT NULL COMMENT '分片文本', `canonical_text` longtext NOT NULL COMMENT '规范化文本', `language` varchar(16) DEFAULT NULL COMMENT '语言', `chunk_hash` varchar(64) NOT NULL COMMENT '分片摘要', `metadata` longtext DEFAULT NULL COMMENT '元数据(JSON)', `status` varchar(32) NOT NULL COMMENT '状态', PRIMARY KEY (`id`), KEY `idx_search_chunk_document` (`document_id`), KEY `idx_search_chunk_hash` (`chunk_hash`), KEY `idx_search_chunk_resource` (`namespace_id`,`resource_type`,`resource_name`,`resource_version`), KEY `idx_search_chunk_type_status` (`namespace_id`,`resource_type`,`status`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='AI资源检索分片表'; /******************************************/ /* 表名称 = ai_resource_task */ /******************************************/ CREATE TABLE `ai_resource_task` ( `task_key` varchar(64) NOT NULL COMMENT '任务唯一键', `namespace_id` varchar(128) NOT NULL DEFAULT '' COMMENT '命名空间ID', `task_type` varchar(64) NOT NULL COMMENT '任务类型', `task_stage` varchar(32) NOT NULL COMMENT '任务阶段', `status` varchar(16) NOT NULL COMMENT '任务状态', `task_payload` text NOT NULL COMMENT '任务输入,JSON文本', `task_result` text COMMENT '任务结果,JSON文本', `retry_count` int NOT NULL DEFAULT 0 COMMENT '当前阶段重试次数', `revision` bigint(20) NOT NULL DEFAULT 1 COMMENT '任务修订号', `lease_token` bigint(20) NOT NULL DEFAULT 0 COMMENT '租约令牌', `next_execute_at` bigint(20) NOT NULL COMMENT '最早执行时间,Unix Epoch毫秒', `lease_expire_at` bigint(20) DEFAULT NULL COMMENT '租约到期时间,Unix Epoch毫秒', `last_error` varchar(2000) DEFAULT NULL COMMENT '最近错误', `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (`task_key`), KEY `idx_ai_resource_task_due` (`task_type`,`status`,`next_execute_at`), KEY `idx_ai_resource_task_lease` (`task_type`,`status`,`lease_expire_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='AI资源持久化异步任务表';