package repository import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func Open(dsn string) (*sql.DB, error) { if dsn == "" { return nil, fmt.Errorf("DATABASE_DSN is required") } db, err := sql.Open("mysql", dsn) if err != nil { return nil, err } if err := db.Ping(); err != nil { _ = db.Close() return nil, err } return db, nil }