github.com/pavlo67/common@v0.5.3/common/sqllib/sqllib_sqlite/connect.go (about) 1 package sqllib_sqlite 2 3 import ( 4 "database/sql" 5 "strings" 6 7 _ "github.com/mattn/go-sqlite3" 8 9 "github.com/pavlo67/common/common/config" 10 "github.com/pavlo67/common/common/errors" 11 ) 12 13 func Connect(cfg config.Access) (*sql.DB, error) { 14 if strings.TrimSpace(cfg.Path) == "" { 15 return nil, errors.New("no path to SQLite database is defined") 16 } 17 18 db, err := sql.Open("sqlite3", cfg.Path) 19 if err != nil { 20 return nil, errors.Wrapf(err, "wrong db connect (cfg = %#v)", cfg) 21 } 22 23 err = db.Ping() 24 if err != nil { 25 return nil, errors.Wrapf(err, "wrong .Ping on db connect (cfg = %#v)", cfg) 26 } 27 28 return db, nil 29 }