3
0

configure actual sql connections as they should be

This commit is contained in:
Tit Petric
2018-07-05 11:17:02 +02:00
parent 9eeffef679
commit 2892ef818d
5 changed files with 22 additions and 24 deletions

4
Gopkg.lock generated
View File

@@ -71,7 +71,7 @@
".",
"resputil"
]
revision = "65282e3db1e919ad2c9c50afc2cd270019e5e360"
revision = "b45ac8b1bb2f1a2fccd1530abb5f44f5f0de67f8"
[[projects]]
branch = "master"
@@ -85,7 +85,7 @@
"internal/timeseries",
"trace"
]
revision = "4cb1c02c05b0e749b0365f61ae859a8e0cfceed9"
revision = "ed29d75add3d7c4bf7ca65aac0c6df3d1420216f"
[[projects]]
name = "golang.org/x/text"

View File

@@ -10,7 +10,7 @@ import (
"github.com/go-chi/chi"
"github.com/crusttech/crust/crm"
project "github.com/crusttech/crust/crm"
"github.com/titpetric/factory"
)
@@ -27,6 +27,7 @@ func main() {
// set up flags
var (
addr = flag.String("addr", ":3000", "Listen address for HTTP server")
dsn = flag.String("dsn", "crust:crust@tcp(db1:3306)/crust?collation=utf8mb4_general_ci", "DSN for database connection")
)
flag.Parse()
@@ -34,13 +35,10 @@ func main() {
log.SetOutput(os.Stdout)
// set up database connection
factory.Database.Add("default", "crust:crust@tcp(db1:3306)/crust?collation=utf8mb4_general_ci")
/*
db, err := factory.Database.Get()
handleError(err, "Can't connect to database")
db.Profiler = &factory.Database.ProfilerStdout
*/
factory.Database.Add("default", dsn)
db, err := factory.Database.Get()
handleError(err, "Can't connect to database")
db.Profiler = &factory.Database.ProfilerStdout
// listen socket for http server
log.Println("Starting http server on address " + *addr)
@@ -53,6 +51,6 @@ func main() {
// mount routes
r := chi.NewRouter()
MountRoutes(r, routeOptions, crm.MountRoutes)
MountRoutes(r, routeOptions, project.MountRoutes)
http.Serve(listener, r)
}

View File

@@ -10,7 +10,7 @@ import (
"github.com/go-chi/chi"
"github.com/crusttech/crust/sam"
project "github.com/crusttech/crust/sam"
"github.com/titpetric/factory"
)
@@ -27,6 +27,7 @@ func main() {
// set up flags
var (
addr = flag.String("addr", ":3000", "Listen address for HTTP server")
dsn = flag.String("dsn", "crust:crust@tcp(db1:3306)/crust?collation=utf8mb4_general_ci", "DSN for database connection")
)
flag.Parse()
@@ -34,13 +35,10 @@ func main() {
log.SetOutput(os.Stdout)
// set up database connection
factory.Database.Add("default", "crust:crust@tcp(db1:3306)/crust?collation=utf8mb4_general_ci")
/*
db, err := factory.Database.Get()
handleError(err, "Can't connect to database")
db.Profiler = &factory.Database.ProfilerStdout
*/
factory.Database.Add("default", dsn)
db, err := factory.Database.Get()
handleError(err, "Can't connect to database")
db.Profiler = &factory.Database.ProfilerStdout
// listen socket for http server
log.Println("Starting http server on address " + *addr)
@@ -53,6 +51,6 @@ func main() {
// mount routes
r := chi.NewRouter()
MountRoutes(r, routeOptions, sam.MountRoutes)
MountRoutes(r, routeOptions, project.MountRoutes)
http.Serve(listener, r)
}

4
dep.sh
View File

@@ -3,7 +3,7 @@ set -e
PROJECT=$(basename $(dirname $(readlink -f $0)))
if [ -d "vendor" ]; then
docker run --rm -v $(pwd):/go/src/github.com/titpetric/$PROJECT -w /go/src/github.com/titpetric/$PROJECT -e GOOS=${OS} -e GOARCH=${ARCH} -e CGO_ENABLED=0 -e GOARM=7 titpetric/golang dep ensure -update -v
docker run --rm -v $(pwd):/go/src/github.com/crusttech/$PROJECT -w /go/src/github.com/crusttech/$PROJECT -e GOOS=${OS} -e GOARCH=${ARCH} -e CGO_ENABLED=0 -e GOARM=7 titpetric/golang dep ensure -update -v
else
docker run --rm -v $(pwd):/go/src/github.com/titpetric/$PROJECT -w /go/src/github.com/titpetric/$PROJECT -e GOOS=${OS} -e GOARCH=${ARCH} -e CGO_ENABLED=0 -e GOARM=7 titpetric/golang dep init
docker run --rm -v $(pwd):/go/src/github.com/crusttech/$PROJECT -w /go/src/github.com/crusttech/$PROJECT -e GOOS=${OS} -e GOARCH=${ARCH} -e CGO_ENABLED=0 -e GOARM=7 titpetric/golang dep init
fi

View File

@@ -60,12 +60,14 @@ func init() {
// be applied, and your custom settings will be honored.
func (r *DatabaseFactory) Add(name string, config interface{}) {
switch val := config.(type) {
case *string:
r.credentials[name] = &DatabaseCredential{DSN: *val}
case string:
r.credentials[name] = &DatabaseCredential{DSN: val}
case DatabaseCredential:
r.credentials[name] = &val
default:
panic("factory.Database.Add can take config as string|factory.DatabaseCredential")
panic("factory.Database.Add can take config as string|*string|factory.DatabaseCredential")
}
}
@@ -118,7 +120,7 @@ func (r *DatabaseFactory) Get(dbName ...string) (*DB, error) {
}
dsn, _ := r.GetDSN(name)
if dsn != "" {
handle, err := sqlx.Open("mysql", dsn)
handle, err := sqlx.Connect("mysql", dsn)
if err != nil {
return nil, err
}