# Change: Remove runtime DB bootstrap from service ## Why 当前服务进程同时承担了“业务消费写入”和“数据库建库/分区维护”两类职责,导致部署耦合、运维边界不清晰,且难以被其他程序复用。 本次变更将建库与分区维护彻底外部化,服务进程只保留 Kafka → 处理 → 写库主链路。 ## What Changes - 从运行时代码中移除启动建表、建函数、建索引、定时分区维护逻辑。 - 移除运行时相关开关配置(`DB_INIT_AND_PARTITION_ENABLED`、`DB_PARTITION_*`)。 - 在仓库根目录新增 `SQL_Script/`,提供可由外部程序调用的 SQL/JS 脚本: - `01_init_schema.sql` - `02_create_partitions.sql` - `run_init.js` - `run_ensure_partitions.js` - 保留写入失败时“缺分区”兜底:按批次时间范围调用 `heartbeat.ensure_partitions` 后重试(前提是外部初始化已部署函数)。 ## Impact - Affected specs: `db` - Affected code: - `src/db/databaseManager.js` - `src/config/config.js` - `src/config/config.example.js` - `.env` - `.env.example` - `SQL_Script/*` - Operational impact: - **BREAKING (运维流程层面)**:首次部署或升级后,需先执行 `SQL_Script` 初始化脚本,再启动服务。