32 lines
563 B
Go
32 lines
563 B
Go
package db
|
|
|
|
import (
|
|
"database/sql"
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
|
|
_ "github.com/go-sql-driver/mysql"
|
|
)
|
|
|
|
var DB *sql.DB
|
|
|
|
func InitDB() {
|
|
dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s",
|
|
os.Getenv("DB_USER"),
|
|
os.Getenv("DB_PASSWORD"),
|
|
os.Getenv("DB_HOST"),
|
|
os.Getenv("DB_PORT"),
|
|
os.Getenv("DB_NAME"),
|
|
)
|
|
var err error
|
|
DB, err = sql.Open("mysql", dsn)
|
|
if err != nil {
|
|
log.Fatal("Fehler bei DB-Verbindung:", err)
|
|
}
|
|
if err = DB.Ping(); err != nil {
|
|
log.Fatal("Keine Verbindung zur Datenbank möglich:", err)
|
|
}
|
|
log.Println("Datenbankverbindung erfolgreich!")
|
|
}
|