Connecting to the database
This commit is contained in:
		
							
								
								
									
										30
									
								
								internal/driver/driver.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								internal/driver/driver.go
									
									
									
									
									
										Normal 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
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user