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