我想在Revel + Gorm(或Golang中的任何其他ORM)中设置数据库分片,如https://github.com/thiagopradi/octopus。
我将在安全过滤器中获取数据库连接字符串(这是一个自定义过滤器,在revel&#39的参数过滤器之后添加)。现在我需要在下一个名为 db filter
的自定义过滤器中切换数据库连接并且还需要在revel应用程序启动时实现db连接池。
答案 0 :(得分:0)
首先是在init上准备数据库连接(只调用一次):
db1, err := gorm.Open(dbdriver, dboption) //your main server
db2, err := gorm.Open(dbdriver, dboption) //your sharding 1
db3, err := gorm.Open(dbdriver, dboption) //your sharding 2
在您的数据库过滤器上,只需选择您希望模型使用的db1,db2或db3。多数民众赞成。
Gorm已经为你准备了游泳池,所以你不需要照顾。