Как я могу переключить соединение с базой данных и поделиться им с моделью в Голанге? (Ревель + Горм)

Я хочу настроить разделение базы данных как 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, которые вы хотите использовать в своей модели. Это все.

Горм уже сделал бассейн для вас, так что вам не нужно заботиться.

Другие вопросы по тегам