github.com/decred/dcrlnd@v0.7.6/channeldb/migration/create_tlb.go (about)

     1  package migration
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/decred/dcrlnd/kvdb"
     7  )
     8  
     9  // CreateTLB creates a new top-level bucket with the passed bucket identifier.
    10  func CreateTLB(bucket []byte) func(kvdb.RwTx) error {
    11  	return func(tx kvdb.RwTx) error {
    12  		log.Infof("Creating top-level bucket: \"%s\" ...", bucket)
    13  
    14  		if tx.ReadBucket(bucket) != nil {
    15  			return fmt.Errorf("top-level bucket \"%s\" "+
    16  				"already exists", bucket)
    17  		}
    18  
    19  		_, err := tx.CreateTopLevelBucket(bucket)
    20  		if err != nil {
    21  			return err
    22  		}
    23  
    24  		log.Infof("Created top-level bucket: \"%s\"", bucket)
    25  		return nil
    26  	}
    27  }