FreePad/src/models/database/database.go

32 lines
543 B
Go
Raw Normal View History

2022-05-15 15:21:21 +03:00
package database
import (
"database/sql"
"fmt"
"os"
"time"
_ "github.com/go-sql-driver/mysql"
)
func GetConn() (*sql.DB, error) {
2022-05-15 15:21:21 +03:00
user := os.Getenv("MYSQL_USER")
password := os.Getenv("MYSQL_PASSWORD")
2022-05-17 00:17:44 +03:00
dburl := os.Getenv("MYSQL_URL")
2022-05-15 15:21:21 +03:00
dbname := os.Getenv("MYSQL_DATABASE")
2022-05-17 00:17:44 +03:00
db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@tcp(%s)/%s", user, password, dburl, dbname))
2022-05-15 15:21:21 +03:00
if err != nil {
return nil, err
2022-05-15 15:21:21 +03:00
}
// Set options
db.SetConnMaxLifetime(time.Minute * 5)
db.SetMaxOpenConns(10)
db.SetMaxIdleConns(10)
return db, nil
2022-05-15 15:21:21 +03:00
}