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 .env
storage storage
ana ana
coverage.out

4
ana.go
View File

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

View File

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

View File

@ -3,8 +3,9 @@ package db
import ( import (
"database/sql" "database/sql"
"fmt" "fmt"
_ "github.com/go-sql-driver/mysql"
"os" "os"
_ "github.com/go-sql-driver/mysql"
) )
var Conn *sql.DB var Conn *sql.DB
@ -12,9 +13,15 @@ var Conn *sql.DB
// SetupDatabaseConnection opens up & returns a SQL connection // SetupDatabaseConnection opens up & returns a SQL connection
func SetupDatabaseConnection() (*sql.DB, error) { func SetupDatabaseConnection() (*sql.DB, error) {
var err 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 { if err != nil {
return nil, err return nil, err
} }