Move backend to subdir
[brackets.git] / backend / db / db.go
diff --git a/backend/db/db.go b/backend/db/db.go
new file mode 100644 (file)
index 0000000..3c04e68
--- /dev/null
@@ -0,0 +1,20 @@
+package db
+
+import (
+       "database/sql"
+       "sync"
+)
+
+// A DB that can be locked, as SQLite can't be concurrently written to.
+type DB struct {
+       Db *sql.DB
+       Mu *sync.Mutex
+}
+
+func New() (*DB, error) {
+       db, err := sql.Open("sqlite3", "brackets.sqlite?_journal_mode=WAL&_foreign_keys=on")
+       if err != nil {
+               return nil, err
+       }
+       return &DB{Db: db, Mu: &sync.Mutex{}}, err
+}