Minor improvements to the Go code

* Don't log.Fatal if there's no .env, there won't be a .env if you run
with ENV variables
* Make the DSN multiline so it's easier to read
This commit is contained in:
Matthias Loibl 2016-12-25 16:24:40 +01:00
parent d8e074191f
commit 5824435243
No known key found for this signature in database
GPG Key ID: B1C7DF661ABB2C1A
4 changed files with 25 additions and 13 deletions

1
.gitignore vendored
View File

@ -3,3 +3,4 @@ static
.env
storage
ana
coverage.out

4
ana.go
View File

@ -9,10 +9,12 @@ import (
)
func main() {
log.Println("starting...")
// load .env file
err := godotenv.Load()
if err != nil {
log.Fatal("Error loading .env file")
log.Println("no .env file found")
}
// setup database connection

View File

@ -4,15 +4,17 @@ import (
"flag"
)
var runCreateUserCommand bool
var runDeleteUserCommand bool
var runStartServerCommand bool
var runSeedDataCommand bool
var runArchiveDataCommand bool
var idArg int
var emailArg string
var passwordArg string
var nArg int
var (
runCreateUserCommand bool
runDeleteUserCommand bool
runStartServerCommand bool
runSeedDataCommand bool
runArchiveDataCommand bool
idArg int
emailArg string
passwordArg string
nArg int
)
func Parse() {
// parse commands

View File

@ -3,8 +3,9 @@ package db
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
"os"
_ "github.com/go-sql-driver/mysql"
)
var Conn *sql.DB
@ -12,9 +13,15 @@ var Conn *sql.DB
// SetupDatabaseConnection opens up & returns a SQL connection
func SetupDatabaseConnection() (*sql.DB, error) {
var err error
var dataSourceName = fmt.Sprintf("%s:%s@%s/%s", os.Getenv("ANA_DATABASE_USER"), os.Getenv("ANA_DATABASE_PASSWORD"), os.Getenv("ANA_DATABASE_HOST"), os.Getenv("ANA_DATABASE_NAME"))
var dsn = fmt.Sprintf(
"%s:%s@%s/%s",
os.Getenv("ANA_DATABASE_USER"),
os.Getenv("ANA_DATABASE_PASSWORD"),
os.Getenv("ANA_DATABASE_HOST"),
os.Getenv("ANA_DATABASE_NAME"),
)
Conn, err = sql.Open("mysql", dataSourceName)
Conn, err = sql.Open("mysql", dsn)
if err != nil {
return nil, err
}