Browse Source

infra_trends分表,并自动创建月表

master
刘忱 2 years ago
parent
commit
f8c9d039b4
  1. 2
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsBaseVO.java
  2. 2
      win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsPageReqVO.java
  3. 3
      win-server/src/main/resources/application-dev.yaml
  4. 15
      win-server/src/main/resources/application-prod.yaml
  5. 15
      win-server/src/main/resources/application-test.yaml

2
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsBaseVO.java

@ -12,7 +12,7 @@ import javax.validation.constraints.NotNull;
@Data
public class TrendsBaseVO {
@Schema(description = "表名", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
@Schema(description = "表名", requiredMode = Schema.RequiredMode.REQUIRED, example = "infraTrends")
@NotNull(message = "表名不能为空")
private String tableName;

2
win-module-infra/win-module-infra-biz/src/main/java/com/win/module/infra/controller/trends/vo/TrendsPageReqVO.java

@ -17,7 +17,7 @@ import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY
@ToString(callSuper = true)
public class TrendsPageReqVO extends PageParam {
@Schema(description = "表名", example = "赵六")
@Schema(description = "表名", example = "infraTrends")
private String tableName;
@Schema(description = "表数据id", example = "9210")

3
win-server/src/main/resources/application-dev.yaml

@ -58,7 +58,8 @@ spring:
# t_user 是逻辑表
infra_trends:
# 配置数据节点,这里是按月分表
actualDataNodes: master.infra_trends_$->{2023..2030}${(1..12).collect{t->t.toString().padLeft(2,'0')}}
#actualDataNodes: master.infra_trends_$->{2023}${(10..12).collect{t->t.toString().padLeft(2,'0')}},master.infra_trends_$->{2024..2030}${(1..12).collect{t->t.toString().padLeft(2,'0')}}
actualDataNodes: master.infra_trends_$->{2023}${(10..12).collect{t->t.toString().padLeft(2,'0')}}
tableStrategy:
# 使用标准分片策略
standard:

15
win-server/src/main/resources/application-prod.yaml

@ -52,6 +52,21 @@ spring:
load-balancers:
alg_round:
type: ROUND_ROBIN
sharding:
# 表策略配置
tables:
# t_user 是逻辑表
infra_trends:
# 配置数据节点,这里是按月分表
#actualDataNodes: master.infra_trends_$->{2023}${(10..12).collect{t->t.toString().padLeft(2,'0')}},master.infra_trends_$->{2024..2030}${(1..12).collect{t->t.toString().padLeft(2,'0')}}
actualDataNodes: master.infra_trends_$->{2023}${(10..12).collect{t->t.toString().padLeft(2,'0')}}
tableStrategy:
# 使用标准分片策略
standard:
# 配置分片字段
shardingColumn: create_time
# 分片算法名称,不支持大写字母和下划线,否则启动就会报错
shardingAlgorithmName: time-sharding-altorithm
datasource:
dynamic:
strict: true

15
win-server/src/main/resources/application-test.yaml

@ -52,6 +52,21 @@ spring:
load-balancers:
alg_round:
type: ROUND_ROBIN
sharding:
# 表策略配置
tables:
# t_user 是逻辑表
infra_trends:
# 配置数据节点,这里是按月分表
#actualDataNodes: master.infra_trends_$->{2023}${(10..12).collect{t->t.toString().padLeft(2,'0')}},master.infra_trends_$->{2024..2030}${(1..12).collect{t->t.toString().padLeft(2,'0')}}
actualDataNodes: master.infra_trends_$->{2023}${(10..12).collect{t->t.toString().padLeft(2,'0')}}
tableStrategy:
# 使用标准分片策略
standard:
# 配置分片字段
shardingColumn: create_time
# 分片算法名称,不支持大写字母和下划线,否则启动就会报错
shardingAlgorithmName: time-sharding-altorithm
datasource:
dynamic:
strict: true

Loading…
Cancel
Save