Use file store by default (as opposed to memory store) (#1498)

* Use file store by default (as opposed to memory store)

* Default table for file store
This commit is contained in:
Janos Dobronszki 2020-04-07 15:19:45 +02:00 committed by Vasiliy Tolstov
parent c65fec6a6c
commit 090303e1af

17
file.go
View File

@ -17,6 +17,16 @@ import (
"github.com/pkg/errors"
)
var (
// DefaultDatabase is the namespace that the bbolt store
// will use if no namespace is provided.
DefaultDatabase = "micro"
// DefaultTable when none is specified
DefaultTable = "micro"
// DefaultDir is the default directory for bbolt files
DefaultDir = os.TempDir()
)
// NewStore returns a memory store
func NewStore(opts ...store.Option) store.Store {
s := &fileStore{
@ -36,18 +46,17 @@ type fileStore struct {
}
func (m *fileStore) Init(opts ...store.Option) error {
// m.store.Flush()
for _, o := range opts {
o(&m.options)
}
if m.options.Database == "" {
m.options.Database = "default"
m.options.Database = DefaultDatabase
}
if m.options.Table == "" {
// bbolt requires bucketname to not be empty
m.options.Table = "default"
m.options.Table = DefaultTable
}
dir := filepath.Join(os.TempDir(), "micro")
dir := filepath.Join(DefaultDir, "micro")
fname := m.options.Database + ".db"
_ = os.Mkdir(dir, 0700)
m.dir = dir