Connecting to the database

This commit is contained in:
2024-08-04 23:06:13 +02:00
parent d3e477eebd
commit 42b8708243
6 changed files with 82 additions and 17 deletions

30
internal/driver/driver.go Normal file
View File

@ -0,0 +1,30 @@
package driver
import (
"context"
"database/sql"
"fmt"
"time"
_ "github.com/go-sql-driver/mysql"
)
func OpenDB(dsn string) (*sql.DB, error) {
db, err := sql.Open("mysql", dsn)
if err != nil {
return nil, err
}
db.SetConnMaxLifetime(time.Minute * 3)
db.SetMaxOpenConns(10)
db.SetMaxIdleConns(10)
ctx, _ := context.WithTimeout(context.Background(), 3*time.Second)
err = db.PingContext(ctx)
if err != nil {
fmt.Println(err)
return nil, err
}
return db, nil
}