diff options
-rw-r--r-- | system/db/addon.go | 6 | ||||
-rw-r--r-- | system/db/init.go | 16 |
2 files changed, 13 insertions, 9 deletions
diff --git a/system/db/addon.go b/system/db/addon.go index 8607119..b5c4929 100644 --- a/system/db/addon.go +++ b/system/db/addon.go @@ -15,6 +15,12 @@ var ( ErrNoAddonExists = errors.New("No addon exists.") ) +func init() { + if store == nil { + Init() + } +} + // Addon looks for an addon by its addon_reverse_dns as the key and returns // the url.Values representation of an addon func Addon(key string) (url.Values, error) { diff --git a/system/db/init.go b/system/db/init.go index e85304c..6bc4753 100644 --- a/system/db/init.go +++ b/system/db/init.go @@ -13,14 +13,6 @@ import ( var store *bolt.DB -func init() { - var err error - store, err = bolt.Open("system.db", 0666, nil) - if err != nil { - log.Fatalln(err) - } -} - // Close exports the abillity to close our db file. Should be called with defer // after call to Init() from the same place. func Close() { @@ -32,7 +24,13 @@ func Close() { // Init creates a db connection, initializes db with required info, sets secrets func Init() { - err := store.Update(func(tx *bolt.Tx) error { + var err error + store, err = bolt.Open("system.db", 0666, nil) + if err != nil { + log.Fatalln(err) + } + + err = store.Update(func(tx *bolt.Tx) error { // initialize db with all content type buckets & sorted bucket for type for t := range item.Types { _, err := tx.CreateBucketIfNotExists([]byte(t)) |