chore(storage): support set db path for badger driver (#499)
* chore(storage): support set db path for badger driver Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> * fix path Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> * fix readme Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> * update default value Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
		
							parent
							
								
									ccc73947ad
								
							
						
					
					
						commit
						4e05611577
					
				| 
						 | 
				
			
			@ -170,6 +170,8 @@ stat:
 | 
			
		|||
    path: "bunt.db"
 | 
			
		||||
  leveldb:
 | 
			
		||||
    path: "level.db"
 | 
			
		||||
  badgerdb:
 | 
			
		||||
    path: "badger.db"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Memory Usage
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -88,6 +88,8 @@ stat:
 | 
			
		|||
    path: "bunt.db"
 | 
			
		||||
  leveldb:
 | 
			
		||||
    path: "level.db"
 | 
			
		||||
  badgerdb:
 | 
			
		||||
    path: "badger.db"
 | 
			
		||||
`)
 | 
			
		||||
 | 
			
		||||
// ConfYaml is config structure.
 | 
			
		||||
| 
						 | 
				
			
			@ -174,11 +176,12 @@ type SectionLog struct {
 | 
			
		|||
 | 
			
		||||
// SectionStat is sub section of config.
 | 
			
		||||
type SectionStat struct {
 | 
			
		||||
	Engine  string         `yaml:"engine"`
 | 
			
		||||
	Redis   SectionRedis   `yaml:"redis"`
 | 
			
		||||
	BoltDB  SectionBoltDB  `yaml:"boltdb"`
 | 
			
		||||
	BuntDB  SectionBuntDB  `yaml:"buntdb"`
 | 
			
		||||
	LevelDB SectionLevelDB `yaml:"leveldb"`
 | 
			
		||||
	Engine   string          `yaml:"engine"`
 | 
			
		||||
	Redis    SectionRedis    `yaml:"redis"`
 | 
			
		||||
	BoltDB   SectionBoltDB   `yaml:"boltdb"`
 | 
			
		||||
	BuntDB   SectionBuntDB   `yaml:"buntdb"`
 | 
			
		||||
	LevelDB  SectionLevelDB  `yaml:"leveldb"`
 | 
			
		||||
	BadgerDB SectionBadgerDB `yaml:"badgerdb"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SectionRedis is sub section of config.
 | 
			
		||||
| 
						 | 
				
			
			@ -204,6 +207,11 @@ type SectionLevelDB struct {
 | 
			
		|||
	Path string `yaml:"path"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SectionBadgerDB is sub section of config.
 | 
			
		||||
type SectionBadgerDB struct {
 | 
			
		||||
	Path string `yaml:"path"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SectionPID is sub section of config.
 | 
			
		||||
type SectionPID struct {
 | 
			
		||||
	Enabled  bool   `yaml:"enabled"`
 | 
			
		||||
| 
						 | 
				
			
			@ -321,6 +329,7 @@ func LoadConf(confPath string) (ConfYaml, error) {
 | 
			
		|||
	conf.Stat.BoltDB.Bucket = viper.GetString("stat.boltdb.bucket")
 | 
			
		||||
	conf.Stat.BuntDB.Path = viper.GetString("stat.buntdb.path")
 | 
			
		||||
	conf.Stat.LevelDB.Path = viper.GetString("stat.leveldb.path")
 | 
			
		||||
	conf.Stat.BadgerDB.Path = viper.GetString("stat.badgerdb.path")
 | 
			
		||||
 | 
			
		||||
	// gRPC Server
 | 
			
		||||
	conf.GRPC.Enabled = viper.GetBool("grpc.enabled")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -105,6 +105,7 @@ func (suite *ConfigTestSuite) TestValidateConfDefault() {
 | 
			
		|||
 | 
			
		||||
	assert.Equal(suite.T(), "bunt.db", suite.ConfGorushDefault.Stat.BuntDB.Path)
 | 
			
		||||
	assert.Equal(suite.T(), "level.db", suite.ConfGorushDefault.Stat.LevelDB.Path)
 | 
			
		||||
	assert.Equal(suite.T(), "badger.db", suite.ConfGorushDefault.Stat.BadgerDB.Path)
 | 
			
		||||
 | 
			
		||||
	// gRPC
 | 
			
		||||
	assert.Equal(suite.T(), false, suite.ConfGorushDefault.GRPC.Enabled)
 | 
			
		||||
| 
						 | 
				
			
			@ -180,6 +181,7 @@ func (suite *ConfigTestSuite) TestValidateConf() {
 | 
			
		|||
 | 
			
		||||
	assert.Equal(suite.T(), "bunt.db", suite.ConfGorush.Stat.BuntDB.Path)
 | 
			
		||||
	assert.Equal(suite.T(), "level.db", suite.ConfGorush.Stat.LevelDB.Path)
 | 
			
		||||
	assert.Equal(suite.T(), "badger.db", suite.ConfGorush.Stat.BadgerDB.Path)
 | 
			
		||||
 | 
			
		||||
	// gRPC
 | 
			
		||||
	assert.Equal(suite.T(), false, suite.ConfGorush.GRPC.Enabled)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -75,3 +75,5 @@ stat:
 | 
			
		|||
    path: "bunt.db"
 | 
			
		||||
  leveldb:
 | 
			
		||||
    path: "level.db"
 | 
			
		||||
  badgerdb:
 | 
			
		||||
    path: "badger.db"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,7 +30,12 @@ type Storage struct {
 | 
			
		|||
// Init client storage.
 | 
			
		||||
func (s *Storage) Init() error {
 | 
			
		||||
	s.name = "badger"
 | 
			
		||||
	s.opts = badger.DefaultOptions(os.TempDir() + "badger")
 | 
			
		||||
	dbPath := s.config.Stat.BadgerDB.Path
 | 
			
		||||
	if dbPath == "" {
 | 
			
		||||
		dbPath = os.TempDir() + "badger"
 | 
			
		||||
	}
 | 
			
		||||
	s.opts = badger.DefaultOptions(dbPath)
 | 
			
		||||
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue