diff --git a/Gopkg.lock b/Gopkg.lock index 90f38bb91..cd72fc495 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -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" diff --git a/cmd/crm/main.go b/cmd/crm/main.go index 24b4d75fc..5cd88f287 100644 --- a/cmd/crm/main.go +++ b/cmd/crm/main.go @@ -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) } diff --git a/cmd/sam/main.go b/cmd/sam/main.go index 942ac14c5..2e36f47ce 100644 --- a/cmd/sam/main.go +++ b/cmd/sam/main.go @@ -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) } diff --git a/dep.sh b/dep.sh index 4fa7100d6..fd9d3e63f 100755 --- a/dep.sh +++ b/dep.sh @@ -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 diff --git a/vendor/github.com/titpetric/factory/database.go b/vendor/github.com/titpetric/factory/database.go index eb6c790fc..10b34483d 100644 --- a/vendor/github.com/titpetric/factory/database.go +++ b/vendor/github.com/titpetric/factory/database.go @@ -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 }