为什么:自增主键把 ID 分配锁在单库序列上,分库分表时无法横向扩展。趁线上业务数据 近零(只有系统种子表有量)先改,代价最低。 - sql/schema.sql、sql/schema-phase1.sql、sql/partition-maintenance.sql:61 处 GENERATED BY DEFAULT AS IDENTITY 去掉,主键改 BIGINT 无默认值 - 52 个实体 @TableId IdType.AUTO -> IdType.ASSIGN_ID;两个入口 id-type: assign_id, 并加 global-config.sequence.worker-id/datacenter-id(单机固定值,多实例需按实例分配) - 新增 sql/migrate-s0-snowflake.sql:存量库幂等迁移,走 DROP IDENTITY 保留数据,不重建表 - 实测:三份建表脚本在新库连跑两遍幂等;线上 57 张表 identity 归零; watch_history/playback_ticket/order_event 的主键与唯一索引仍含分区键
61 lines
1.7 KiB
YAML
61 lines
1.7 KiB
YAML
server:
|
|
port: 8081
|
|
|
|
spring:
|
|
application:
|
|
name: fruitshorts-app-api
|
|
autoconfigure:
|
|
exclude: org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration
|
|
datasource:
|
|
driver-class-name: org.postgresql.Driver
|
|
url: jdbc:postgresql://127.0.0.1:5432/fruitshorts
|
|
username: ${DB_USER:fruitshorts}
|
|
password: ${DB_PASSWORD:fruitshorts}
|
|
jackson:
|
|
date-format: yyyy-MM-dd HH:mm:ss
|
|
time-zone: Asia/Shanghai
|
|
|
|
mybatis-plus:
|
|
configuration:
|
|
map-underscore-to-camel-case: true
|
|
global-config:
|
|
banner: false
|
|
db-config:
|
|
# 主键由应用侧雪花算法生成(S0),数据库不再自增
|
|
id-type: assign_id
|
|
logic-delete-field: deleted
|
|
logic-delete-value: 1
|
|
logic-not-delete-value: 0
|
|
sequence:
|
|
# 单机开发用固定值;上多实例前必须改成按实例分配(环境变量注入),否则会撞 ID
|
|
worker-id: 1
|
|
datacenter-id: 1
|
|
|
|
fruitshorts:
|
|
interaction:
|
|
# MACHINE_FIRST:机审通过即发布,命中 REVIEW 级敏感词才转人工
|
|
# PRE_REVIEW :全部先审后发(生产建议)
|
|
comment-audit-mode: MACHINE_FIRST
|
|
comment-max-length: 500
|
|
comment-per-minute: 5
|
|
download:
|
|
# 这些值会通过 /app/downloads/policy 下发给客户端,改这里不用发版
|
|
max-per-device: 20
|
|
license-days: 30
|
|
wifi-only-default: true
|
|
max-quality: AUTO
|
|
media:
|
|
root-dir: ./data/uploads
|
|
public-prefix: /files
|
|
chunk-size: 5242880
|
|
max-file-size: 2147483648
|
|
jwt:
|
|
admin-secret: ${JWT_ADMIN_SECRET:fruitshorts-admin-dev-secret-change-me-in-production-32b}
|
|
admin-ttl-hours: 12
|
|
cors:
|
|
allowed-origins: "*"
|
|
|
|
logging:
|
|
level:
|
|
com.fruitshorts: info
|