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:
parent
c65fec6a6c
commit
090303e1af
17
file.go
17
file.go
@ -17,6 +17,16 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"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
|
// NewStore returns a memory store
|
||||||
func NewStore(opts ...store.Option) store.Store {
|
func NewStore(opts ...store.Option) store.Store {
|
||||||
s := &fileStore{
|
s := &fileStore{
|
||||||
@ -36,18 +46,17 @@ type fileStore struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (m *fileStore) Init(opts ...store.Option) error {
|
func (m *fileStore) Init(opts ...store.Option) error {
|
||||||
// m.store.Flush()
|
|
||||||
for _, o := range opts {
|
for _, o := range opts {
|
||||||
o(&m.options)
|
o(&m.options)
|
||||||
}
|
}
|
||||||
if m.options.Database == "" {
|
if m.options.Database == "" {
|
||||||
m.options.Database = "default"
|
m.options.Database = DefaultDatabase
|
||||||
}
|
}
|
||||||
if m.options.Table == "" {
|
if m.options.Table == "" {
|
||||||
// bbolt requires bucketname to not be empty
|
// 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"
|
fname := m.options.Database + ".db"
|
||||||
_ = os.Mkdir(dir, 0700)
|
_ = os.Mkdir(dir, 0700)
|
||||||
m.dir = dir
|
m.dir = dir
|
||||||
|
Loading…
Reference in New Issue
Block a user