github.com/prysmaticlabs/prysm@v1.4.4/validator/db/migrate.go (about) 1 package db 2 3 import ( 4 "context" 5 "path" 6 7 "github.com/pkg/errors" 8 "github.com/prysmaticlabs/prysm/shared/cmd" 9 "github.com/prysmaticlabs/prysm/shared/fileutil" 10 "github.com/prysmaticlabs/prysm/validator/db/kv" 11 "github.com/urfave/cli/v2" 12 ) 13 14 // MigrateUp for a validator database. 15 func MigrateUp(cliCtx *cli.Context) error { 16 dataDir := cliCtx.String(cmd.DataDirFlag.Name) 17 18 if !fileutil.FileExists(path.Join(dataDir, kv.ProtectionDbFileName)) { 19 return errors.New("No validator db found at path, nothing to migrate") 20 } 21 22 ctx := context.Background() 23 log.Info("Opening DB") 24 validatorDB, err := kv.NewKVStore(ctx, dataDir, &kv.Config{}) 25 if err != nil { 26 return err 27 } 28 log.Info("Running migrations") 29 return validatorDB.RunUpMigrations(ctx) 30 } 31 32 // MigrateDown for a validator database. 33 func MigrateDown(cliCtx *cli.Context) error { 34 dataDir := cliCtx.String(cmd.DataDirFlag.Name) 35 36 if !fileutil.FileExists(path.Join(dataDir, kv.ProtectionDbFileName)) { 37 return errors.New("No validator db found at path, nothing to rollback") 38 } 39 40 ctx := context.Background() 41 log.Info("Opening DB") 42 validatorDB, err := kv.NewKVStore(ctx, dataDir, &kv.Config{}) 43 if err != nil { 44 return err 45 } 46 log.Info("Running migrations") 47 return validatorDB.RunDownMigrations(ctx) 48 }