前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AgileConfig-1.9.0 发布,支持 MongoDB 存储

AgileConfig-1.9.0 发布,支持 MongoDB 存储

作者头像
MJ.Zhou
发布2024-02-09 08:07:09
950
发布2024-02-09 08:07:09
举报
文章被收录于专栏:.NET开发那点事.NET开发那点事

Hello 大家好,先祝福大家新年快乐。🎉🎉🎉 AgileConfig 1.9.0 版本终于赶在农历年前发布了。 Mongodb 当前做为一款非常成熟的 Nosql 产品,已经有越来越多的产品或项目基于它来构建。在 AgileConfig 开源的这几年之间,陆陆续续收到不少同学问为啥不支持 Mongodb。我的回答是没有时间(懒)。一是因为确实没有时间,二是要支持 Mongodb 这种非关系型数据库,需要对 AgileConfig 项目本身做比较大的重构。就在去年 12 月 AgileConfig 收到了对于 Mongodb 的支持的 PR。这是 AgileConfig 开源这几年来收到的一个最大的 PR。往常大家都是嘴上说要这个,要那个功能,但是真正动手的聊聊无几,收到这个 PR 的时候让我非常欣慰。 这个 PR 当时虽然能工作,但是不够完美。在我跟 pengqian089 同学多次沟通后决定对 AgileConfig 进行一次比较大的重构:在 RDBNosql 之间在抽象一层仓储层。这样对与后续扩展不管是 RDB 还是其他 Nosql 会更加的容易。同时为了保证项目的可靠性,我们还改进跟添加了更多的单元测试用例。我们共同合作 2 个多月,修改了超过 170 个文件,终于有了当前这个新版本。

如何使用 Mongodb 作为存储

要使用 mongodb 作为存储,同样非常简单。 如果是本地使用编译后运行那么请获取最新源码后修改 appsettings.json 文件:

代码语言:javascript
复制
"db": {
  "provider": "mongodb",
  "conn": "mongodb://192.168.0.125:27017/agile_config_database"
}

如果使用 docker 运行请使用环境变量注入参数:

代码语言:javascript
复制
sudo docker run \
--name agile_config \
-e TZ=Asia/Shanghai \
-e adminConsole=true \
-e db__provider=mongodb \
-e db__conn="mongodb://192.168.0.125:27017/agile_config_database" \
-p 5000:5000 \
#-v /your_host_dir:/app/db \
-d kklldog/agile_config:latest

运行起来后使用体验跟使用 mysql 等数据库并无差异。

注意:请尽量使用mongodb集群作为存储,因为单节点 mongodb 并不支持事务。

break change

如果是从老版本升级到 1.9.0 版本,那么请注意目前 agc_sys_log 系统日志表的主键 id 数据类型从原来的自增 integer 修改成了 varchar36 字符型。升级前请自行修改表结构。原因是 mongodb 不支持自增主键。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-02-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何使用 Mongodb 作为存储
  • break change
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档