diff --git a/engine_group.go b/engine_group.go index 223eb985..4d346231 100644 --- a/engine_group.go +++ b/engine_group.go @@ -5,8 +5,6 @@ package xorm import ( - "strings" - "github.com/go-xorm/core" ) @@ -27,9 +25,8 @@ func NewEngineGroup(args1 interface{}, args2 interface{}, policies ...GroupPolic } driverName, ok1 := args1.(string) - dataSourceNames, ok2 := args2.(string) + conns, ok2 := args2.([]string) if ok1 && ok2 { - conns := strings.Split(dataSourceNames, ";") engines := make([]*Engine, len(conns)) for i, conn := range conns { engine, err := NewEngine(driverName, conn) diff --git a/xorm_test.go b/xorm_test.go index c201b8c9..569bc681 100644 --- a/xorm_test.go +++ b/xorm_test.go @@ -26,6 +26,7 @@ var ( mapType = flag.String("map_type", "snake", "indicate the name mapping") cache = flag.Bool("cache", false, "if enable cache") cluster = flag.Bool("cluster", false, "if this is a cluster") + splitter = flag.String("splitter", ";", "the splitter on connstr for cluster") ) func createEngine(dbType, connStr string) error { @@ -36,7 +37,7 @@ func createEngine(dbType, connStr string) error { testEngine, err = NewEngine(dbType, connStr) } else { - testEngine, err = NewEngineGroup(dbType, connStr) + testEngine, err = NewEngineGroup(dbType, strings.Split(connStr, *splitter)) } if err != nil { return err