operating 3 or more database at the same time, Read/Write Splitting, have connection pool.
Just create different variables (db connections) using the Open function of sql library
import "database/sql"
import _ "github.com/go-sql-driver/mysql"
func Connect() (*DB, *DB, *DB) {
db1, err := sql.Open("mysql", "user1:password1@/dbname1")
//check err
db2, err := sql.Open("mysql", "user2:password2@/dbname2")
//check err
db3, err := sql.Open("mysql", "user3:password3@/dbname3")
//check err
return db1, db2, db3
}
And you can use them further absolutely separately.
gorm多数据库连接方法