go 如何动态连接多个数据库

2021-04-15 15:40:11 +08:00
 570956418

项目背景:

现在有 ABCDE 五个数据库,数据库里面的表结构都是一样的。

需要实现的功能:

我现在想写个计划任务去将这个几个数据库里面的 Users 表的数据聚合到另一个数据库 H 的 Users 表里面(还有其他表),我该怎么配置连接?(后期可能还会有一样结构的数据库 FG 等)

尝试与疑问:

我现在用的是 gorm,我配置了 AConn,BConn....等多个连接,但是这样写数据同步的时候不灵活,我不知道怎么使用变量代理数据库连接。我想用 for 循环来遍历查询数据进行同步,但是不知道怎么写?比如一开始建立的时候我想遍历 conn1,conn2...,但是我不知道怎么用动态的变量名去接受 gorm.open 返回的 db 资源

备注:

如果我的方案不好请忽略,麻烦点播下有什么好的方案去实现这个功能。

望指教!!

3216 次点击
所在节点    Go 编程语言
6 条回复
yijihu
2021-04-15 15:47:44 +08:00
直接用 mycat 这类数据库中间件吧
777777
2021-04-15 17:07:13 +08:00
用 vitess,Google 用 golang 实现的
janxin
2021-04-15 17:36:48 +08:00
mengdodo
2021-04-16 14:28:38 +08:00
mark,最近我也也到了这个问题,同时保持多个数据库连接感觉很多余,可又不确定下一秒就会使用到这个数据库
olddogs
2022-01-26 16:05:12 +08:00
我也遇到这个情况,请问找到解决方案了吗?》
570956418
2022-01-26 17:25:11 +08:00
没找到什么好办法办法,就是同时建立多个连接了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/770874

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX