29 lines
590 B
Go
29 lines
590 B
Go
package database
|
|
|
|
import (
|
|
"database/sql"
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
|
|
_ "github.com/go-sql-driver/mysql"
|
|
)
|
|
|
|
func dsn() string {
|
|
user := os.Getenv("DATABASE_USER")
|
|
password := os.Getenv("DATABASE_PASSWORD")
|
|
host := os.Getenv("DATABASE_HOST")
|
|
port := os.Getenv("DATABASE_PORT")
|
|
name := os.Getenv("DATABASE_NAME")
|
|
return fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", user, password, host, port, name)
|
|
}
|
|
|
|
func GetDatabaseConnection() *sql.DB {
|
|
log.Println("dsn: ", dsn())
|
|
DB_conn, err := sql.Open("mysql", dsn())
|
|
if err != nil {
|
|
log.Println("Database connection error : ", err)
|
|
}
|
|
return DB_conn
|
|
}
|