Browse code

Init database if empty file Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)

Michael Crosby authored on 2014/05/31 09:44:00
Showing 1 changed files
... ...
@@ -3,23 +3,32 @@
3 3
 package graphdb
4 4
 
5 5
 import (
6
-	_ "code.google.com/p/gosqlite/sqlite3" // registers sqlite
7 6
 	"database/sql"
8 7
 	"os"
8
+
9
+	_ "code.google.com/p/gosqlite/sqlite3" // registers sqlite
9 10
 )
10 11
 
11 12
 func NewSqliteConn(root string) (*Database, error) {
12 13
 	initDatabase := false
13
-	if _, err := os.Stat(root); err != nil {
14
+
15
+	stat, err := os.Stat(root)
16
+	if err != nil {
14 17
 		if os.IsNotExist(err) {
15 18
 			initDatabase = true
16 19
 		} else {
17 20
 			return nil, err
18 21
 		}
19 22
 	}
23
+
24
+	if stat != nil && stat.Size() == 0 {
25
+		initDatabase = true
26
+	}
27
+
20 28
 	conn, err := sql.Open("sqlite3", root)
21 29
 	if err != nil {
22 30
 		return nil, err
23 31
 	}
32
+
24 33
 	return NewDatabase(conn, initDatabase)
25 34
 }