Track artist popularity
[brackets.git] / db / db.go
CommitLineData
2636df37
JC
1package db
2
3import (
4 "database/sql"
5 "sync"
6)
7
8// A DB that can be locked, as SQLite can't be concurrently written to.
9type DB struct {
10 Db *sql.DB
11 Mu *sync.Mutex
12}
13
14func New() (*DB, error) {
61697e61 15 db, err := sql.Open("sqlite3", "brackets.sqlite?_journal_mode=WAL&_foreign_keys=on")
2636df37
JC
16 if err != nil {
17 return nil, err
18 }
19 return &DB{Db: db, Mu: &sync.Mutex{}}, err
20}