asgard.git

commit 64febd33249d4a4774c316fdbed277c8b7b62151

Author: Adam <git@apiote.xyz>

parametrise database path

 db.go | 13 +++++++++----
 main.go | 8 ++++++--


diff --git a/db.go b/db.go
index 1242932e4b7c24e7f5acebac4d18ed606eb421be..b12efb681ea49bc271a60eb3b598c07f919fdca5 100644
--- a/db.go
+++ b/db.go
@@ -3,6 +3,7 @@
 import (
 	"database/sql"
 	"fmt"
+	"path/filepath"
 	"strings"
 	"time"
 
@@ -63,8 +64,8 @@ 		return m.Subject
 	}
 }
 
-func migrate() (*sql.DB, error) {
-	db, err := open()
+func migrate(dbPath string) (*sql.DB, error) {
+	db, err := open(dbPath)
 	_, err = db.Exec(`create table tyr_knownAddresses(address_from text, address_to text, ban boolean, unique(address, direction))`)
 	if err != nil && err.Error() != "table tyr_knownAddresses already exists" {
 		return nil, err
@@ -86,8 +87,12 @@
 	return db, nil
 }
 
-func open() (*sql.DB, error) {
-	db, err := sql.Open("sqlite3", "asgard.db")
+func open(dbPath string) (*sql.DB, error) {
+	path, err := filepath.Abs(dbPath)
+	if err != nil {
+		return nil, err
+	}
+	db, err := sql.Open("sqlite3", path)
 	if err != nil {
 		return nil, err
 	}




diff --git a/main.go b/main.go
index ee7a2bdfea219b86cd54de024817fed4f2615e2d..57d7d0c61c9afefffefe477ca8d122352314e336 100644
--- a/main.go
+++ b/main.go
@@ -110,8 +110,12 @@ 	return config, err
 }
 
 func main() {
-	var configPath string
+	var (
+		configPath string
+		dbPath     string
+	)
 	getopt.StringVar(&configPath, "c", "", "path to config file")
+	getopt.StringVar(&dbPath, "d", "asgard.db", "path to database file")
 	getopt.Parse()
 
 	config, err := readConfig(configPath)
@@ -119,7 +123,7 @@ 	if err != nil {
 		log.Fatalln(err)
 	}
 	//log.Printf("running with conifig\n%+v\n", config)
-	db, err := migrate()
+	db, err := migrate(dbPath)
 	if err != nil {
 		log.Fatalln(err)
 	}