Skip to content

Commit

Permalink
pref:分表路由规则优化 TencentBlueKing#11406
Browse files Browse the repository at this point in the history
  • Loading branch information
carlyin0801 committed Feb 8, 2025
1 parent a231951 commit 8e1b2d2
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
3 changes: 2 additions & 1 deletion support-files/sql/1001_ci_project_ddl_mysql.sql
Original file line number Diff line number Diff line change
Expand Up @@ -315,12 +315,13 @@ CREATE TABLE IF NOT EXISTS `T_TABLE_SHARDING_CONFIG` (
`MODULE_CODE` varchar(64) NOT NULL DEFAULT '' COMMENT '模块标识',
`TABLE_NAME` varchar(128) NOT NULL DEFAULT '' COMMENT '数据库表名称',
`SHARDING_NUM` int(11) NOT NULL DEFAULT 5 COMMENT '分表数量',
`TYPE` varchar(32) NOT NULL DEFAULT '' COMMENT '表类型',
`CREATOR` varchar(50) NOT NULL DEFAULT 'system' COMMENT '创建者',
`MODIFIER` varchar(50) NOT NULL DEFAULT 'system' COMMENT '修改者',
`UPDATE_TIME` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '修改时间',
`CREATE_TIME` datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
PRIMARY KEY (`ID`),
UNIQUE KEY `UNI_INX_TTSC_CLUSTER_MODULE_NAME` (`CLUSTER_NAME`,`MODULE_CODE`,`TABLE_NAME`)
UNIQUE KEY `UNI_INX_TTSC_CLUSTER_MODULE_NAME_TYPE` (`CLUSTER_NAME`,`MODULE_CODE`,`TABLE_NAME`,`TYPE`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='数据库表分片配置';

CREATE TABLE IF NOT EXISTS `T_I18N_MESSAGE` (
Expand Down
26 changes: 26 additions & 0 deletions support-files/sql/2004_v3.x/2030_ci_project-update_v3.0_mysql.sql
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,32 @@ BEGIN
ADD COLUMN `PROPERTIES` text null DEFAULT NULL comment '项目其他配置';
END IF;

IF NOT EXISTS(SELECT 1
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = db
AND TABLE_NAME = 'T_TABLE_SHARDING_CONFIG'
AND COLUMN_NAME = 'TYPE') THEN
ALTER TABLE T_TABLE_SHARDING_CONFIG
ADD COLUMN `TYPE` varchar(32) NOT NULL DEFAULT '' COMMENT '表类型';
END IF;

IF EXISTS(SELECT 1
FROM information_schema.statistics
WHERE TABLE_SCHEMA = db
AND TABLE_NAME = 'T_TABLE_SHARDING_CONFIG'
AND INDEX_NAME = 'UNI_INX_TTSC_CLUSTER_MODULE_NAME') THEN
ALTER TABLE `T_TABLE_SHARDING_CONFIG` DROP INDEX `UNI_INX_TTSC_CLUSTER_MODULE_NAME`;
END IF;

IF NOT EXISTS(SELECT 1
FROM information_schema.statistics
WHERE TABLE_SCHEMA = db
AND TABLE_NAME = 'T_TABLE_SHARDING_CONFIG'
AND INDEX_NAME = 'UNI_INX_TTSC_CLUSTER_MODULE_NAME_TYPE') THEN
ALTER TABLE `T_TABLE_SHARDING_CONFIG` ADD INDEX
`UNI_INX_TTSC_CLUSTER_MODULE_NAME_TYPE` (`CLUSTER_NAME`,`MODULE_CODE`,`TABLE_NAME`,`TYPE`);
END IF;

COMMIT;
END <CI_UBF>
DELIMITER ;
Expand Down

0 comments on commit 8e1b2d2

Please sign in to comment.