Как я могу переключить соединение с базой данных и поделиться им с моделью в Голанге? (Ревель + Горм)
Я хочу настроить разделение базы данных как https://github.com/thiagopradi/octopus в Revel + Gorm(или любой другой ORM в Голанге).
Я получу строку подключения БД в фильтре безопасности (это был пользовательский фильтр, добавленный после фильтра param для revel). Теперь мне нужно переключить соединение БД в следующем настраиваемом фильтре под названием БД-фильтр
А также необходимо реализовать пул соединений с БД при запуске приложения revel.
1 ответ
Решение
Сначала необходимо подготовить соединение с БД по 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, которые вы хотите использовать в своей модели. Это все.
Горм уже сделал бассейн для вас, так что вам не нужно заботиться.