49 lines
4.9 KiB
SQL
49 lines
4.9 KiB
SQL
-- 编码规则定义表
|
||
CREATE TABLE base_code_rule (
|
||
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
rule_name VARCHAR(64) NOT NULL COMMENT '规则名称',
|
||
rule_code VARCHAR(32) NOT NULL COMMENT '规则编码(唯一标识,调用时传入)',
|
||
segment_config JSON NOT NULL COMMENT '分段配置(JSON数组)',
|
||
code_separator VARCHAR(8) DEFAULT '' COMMENT '分隔符(- / _ . 或空)',
|
||
letter_case TINYINT DEFAULT 0 COMMENT '字母大小写:0=原样 1=全大写 2=全小写',
|
||
total_length INT DEFAULT 0 COMMENT '固定总长度约束(0=不限制)',
|
||
seq_strategy VARCHAR(16) DEFAULT 'segment' COMMENT '序号策略:segment=号段预分配 lock=分布式锁实时',
|
||
status TINYINT NOT NULL DEFAULT 0 COMMENT '状态:0=启用 1=禁用',
|
||
remark VARCHAR(256) DEFAULT '' COMMENT '备注',
|
||
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
deleted TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除',
|
||
PRIMARY KEY (id),
|
||
UNIQUE KEY uk_rule_code (rule_code)
|
||
) COMMENT '编码规则定义表';
|
||
|
||
-- 编码流水号段记录表
|
||
CREATE TABLE base_code_sequence (
|
||
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
|
||
rule_id BIGINT NOT NULL COMMENT '规则ID,关联 base_code_rule.id',
|
||
reset_key VARCHAR(64) NOT NULL DEFAULT '' COMMENT '重置维度键(如按天:20260715,全局:GLOBAL)',
|
||
current_value BIGINT NOT NULL DEFAULT 0 COMMENT '当前已分配的最大序号',
|
||
max_value BIGINT NOT NULL DEFAULT 9999 COMMENT '序号最大值上限',
|
||
creator VARCHAR(64) DEFAULT '' COMMENT '创建者',
|
||
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
updater VARCHAR(64) DEFAULT '' COMMENT '更新者',
|
||
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
deleted TINYINT NOT NULL DEFAULT 0 COMMENT '是否删除',
|
||
PRIMARY KEY (id),
|
||
UNIQUE KEY idx_rule_reset (rule_id, reset_key)
|
||
) COMMENT '编码流水号段记录表';
|
||
|
||
|
||
-- 编码规则菜单(基础数据 > 编码规则)
|
||
INSERT INTO `system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6745, '编码规则', '', 2, 1, 6743, 'codegen', NULL, NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
|
||
|
||
-- 编码规则按钮权限(parent_id=6745)
|
||
INSERT INTO `system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6746, '编码规则查询', 'base:code-rule:query', 3, 1, 6745, '', NULL, NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
|
||
INSERT INTO `system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6747, '编码规则新增', 'base:code-rule:create', 3, 2, 6745, '', NULL, NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
|
||
INSERT INTO `system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6748, '编码规则修改', 'base:code-rule:update', 3, 3, 6745, '', NULL, NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
|
||
INSERT INTO `system_menu`(`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (6749, '编码规则删除', 'base:code-rule:delete', 3, 4, 6745, '', NULL, NULL, NULL, 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');
|
||
-- 如果已建表且列名为 separator,执行此语句修复保留关键字问题
|
||
-- ALTER TABLE base_code_rule CHANGE COLUMN separator code_separator VARCHAR(8) DEFAULT '' COMMENT '分隔符(- / _ . 或空)';
|