本机数据库统一规则
强制:本机(卡若工作机)上所有项目的数据库统一使用同一套数据库实例,不新增新的数据库实例或服务。
维护:金仓;新项目接入数据库时须遵守本规则。
一、规则要点
| 规则 |
说明 |
| 一个 MongoDB 实例 |
本机开发/本地环境只使用一个 MongoDB 实例(默认 localhost:27017),所有本地项目共用该实例。 |
| 不新增实例 |
不得为本机再起新的 MongoDB 进程、Docker 容器或远程库「仅给本机用」的独立实例;新项目只在该实例下建库名即可。 |
| 按项目分库 |
同一实例下,不同项目使用不同库名(如 玩值电竞 → wanzhi_esports),通过库名隔离,不混用。 |
| 连接串统一 |
本机 MongoDB 连接串以《00_账号与API索引》二、数据库 · 本机 MongoDB(统一) 为准;各项目通过环境变量 MONGODB_URI 指向该连接串,库名在代码或 URI 中指定。 |
二、本机统一 MongoDB 配置
- 连接串(无认证):
mongodb://localhost:27017
- 连接串(有认证):见《00_账号与API索引》二、数据库 · 本机 MongoDB(统一)表中填写的主机、账号、密码,格式:
mongodb://用户名:密码@localhost:27017/库名?authSource=admin
- 使用方式:各项目在
.env.local 或环境变量中设置 MONGODB_URI 为上述连接串(不含库名时,代码内指定库名);不要为本机单独再起一个 MongoDB(如 Docker 再开一个 27018 仅给某项目用),避免多实例分散。
三、已接入项目(本机统一实例下的库名)
MongoDB(datacenter_mongodb,端口 27017)
| 项目 |
库名 |
说明 |
| 玩值电竞App |
wanzhi_esports |
玩值电竞业务库,集合与索引见《玩值电竞_数据库设计》;连接串用本机统一 MongoDB。 |
| 卡若ai网站 |
karuo_site |
官网与控制台全量数据(技能、网关、工作流、任务、用户、frontend_config/backend_config 等);连接串用本机统一 MongoDB。 |
MySQL(datacenter_mysql,端口 3307,归入 datacenter 编排)
| 项目 |
库名 |
说明 |
| 存客宝 |
cunkebao |
存客宝业务库;数据目录宿主机 /Users/karuo/数据库/mysql/cunkebao;存客宝 Docker 编排通过 datacenter_network 连接 datacenter_mysql,见存客宝项目 开发文档/8、部署/存客宝数据库位置与连接说明.md。 |
后续新项目需要 MongoDB 时,在本表增加一行「项目名、库名、说明」;需要 MySQL 时归入 datacenter 编排并在此登记。
四、本机 MySQL(datacenter)
- 存客宝:本机 MySQL 统一使用 datacenter 分组内的 datacenter_mysql(宿主机端口 3307),数据目录
/Users/karuo/数据库/mysql/cunkebao。存客宝编排内不再自建 mysql,后端通过 datacenter_network 连接 datacenter_mysql。首次使用前需先启动 datacenter(docker compose -p datacenter up -d),若从旧 cunkebao-mysql 迁移数据见存客宝项目《存客宝数据库位置与连接说明》中的迁移步骤。
五、例外说明
- 玩值电竞App Docker:编排中已不再包含 wanzhi-mongodb 容器;Docker 只跑 Web,通过
host.docker.internal:27017 使用本机统一 MongoDB。若曾存在旧容器 wanzhi-mongodb(端口 27018),迁移数据后删除即可,见玩值电竞App 项目内 docker/README.md 第三节。
- 生产/测试服:生产或测试环境使用各自服务器上的数据库,不受「本机一个实例」限制;本规则仅约束本机。
六、版本记录
| 日期 |
变更 |
| 2026-02-26 |
初版;本机统一一个 MongoDB 实例;玩值电竞使用库名 wanzhi_esports |
| 2026-02-28 |
新增本机 MySQL:存客宝归入 datacenter_mysql(3307),数据目录 数据库/mysql/cunkebao |
| 2026-03-01 |
卡若ai网站接入唯一 MongoDB,库名 karuo_site;新生成数据一律只放唯一 MongoDB |