Initial commit
This commit is contained in:
32
internal/db/sqlite/db.go
Normal file
32
internal/db/sqlite/db.go
Normal file
@@ -0,0 +1,32 @@
|
||||
package sqlite
|
||||
|
||||
import (
|
||||
"github.com/jmoiron/sqlx"
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
var db *sqlx.DB
|
||||
|
||||
func OpenDb(fname string) (*sqlx.DB, error) {
|
||||
conn, err := sqlx.Open("sqlite3", fname+"?cache=shared&mode=rwc&_journal_mode=WAL")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
conn.SetMaxOpenConns(1) // sqlite3 does not support multiple connections
|
||||
db = conn
|
||||
|
||||
return conn, nil
|
||||
}
|
||||
|
||||
func CloseDb() error {
|
||||
if db != nil {
|
||||
return db.Close()
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetDb() *sqlx.DB {
|
||||
return db
|
||||
}
|
||||
Reference in New Issue
Block a user