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) }