Commit | Line | Data |
---|---|---|
2636df37 JC |
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) { | |
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 | } |