2016-11-10 17:26:17 +01:00
|
|
|
// dbs
|
2016-11-17 10:15:59 +01:00
|
|
|
package main
|
2016-11-10 17:26:17 +01:00
|
|
|
|
|
|
|
import (
|
2016-11-17 10:09:23 +01:00
|
|
|
"errors"
|
2016-11-10 17:26:17 +01:00
|
|
|
"fmt"
|
|
|
|
"log"
|
|
|
|
"os"
|
|
|
|
"strings"
|
|
|
|
|
|
|
|
// rt "gopkg.in/dancannon/gorethink.v2"
|
2016-11-17 10:09:23 +01:00
|
|
|
// "gopkg.in/mgo.v2"
|
2016-11-10 17:26:17 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
dbs = Dbs{
|
2016-11-17 10:09:23 +01:00
|
|
|
Mongo: &Mongo{},
|
|
|
|
Rethink: &Rethink{},
|
2016-11-10 17:26:17 +01:00
|
|
|
}
|
|
|
|
)
|
|
|
|
|
|
|
|
// Dbs structure
|
|
|
|
type Dbs struct {
|
|
|
|
MongoURI string
|
|
|
|
MongoDB string
|
|
|
|
RethinkURI string
|
|
|
|
RethinkDB string
|
2016-11-17 10:09:23 +01:00
|
|
|
Mongo *Mongo
|
|
|
|
Rethink *Rethink
|
2016-11-10 17:26:17 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
func (db *Dbs) poolRethink() {
|
|
|
|
var err error
|
|
|
|
|
|
|
|
if opts.Debug {
|
|
|
|
fmt.Printf("DBS: %+v\n", db)
|
|
|
|
}
|
|
|
|
|
|
|
|
if db.RethinkURI != "" {
|
|
|
|
uri := strings.Split(dbs.RethinkURI, ",")
|
|
|
|
if opts.Debug {
|
|
|
|
fmt.Printf("RT_URI: %s\n", uri)
|
|
|
|
}
|
2016-11-17 10:09:23 +01:00
|
|
|
|
|
|
|
database := strings.Split(dbs.RethinkDB, ":")
|
|
|
|
if len(database) > 1 {
|
|
|
|
db.Rethink, err = NewRethinkDB(uri, database[0], database[1])
|
|
|
|
} else {
|
|
|
|
err = errors.New("DB format error - DB:Table")
|
|
|
|
}
|
|
|
|
|
2016-11-10 17:26:17 +01:00
|
|
|
if err != nil {
|
|
|
|
fmt.Println("RethinkDB connect Error: ", err.Error())
|
|
|
|
os.Exit(-4)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if opts.Debug {
|
|
|
|
fmt.Printf("DBS: %+v\n", db)
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
func (db *Dbs) connectMongo() {
|
|
|
|
var err error
|
2016-11-17 10:09:23 +01:00
|
|
|
db.Mongo, err = NewMongoDB(db.MongoURI, db.MongoDB)
|
2016-11-10 17:26:17 +01:00
|
|
|
if err != nil {
|
|
|
|
log.Println("Mongodb connect Error: ", err.Error())
|
|
|
|
os.Exit(-3)
|
|
|
|
}
|
|
|
|
}
|