github.com/prysmaticlabs/prysm@v1.4.4/cmd/beacon-chain/db/db.go (about)

     1  package db
     2  
     3  import (
     4  	beacondb "github.com/prysmaticlabs/prysm/beacon-chain/db"
     5  	"github.com/prysmaticlabs/prysm/shared/cmd"
     6  	"github.com/prysmaticlabs/prysm/shared/tos"
     7  	"github.com/sirupsen/logrus"
     8  	"github.com/urfave/cli/v2"
     9  )
    10  
    11  var log = logrus.WithField("prefix", "db")
    12  
    13  // Commands for interacting with a beacon chain database.
    14  var Commands = &cli.Command{
    15  	Name:     "db",
    16  	Category: "db",
    17  	Usage:    "defines commands for interacting with the Ethereum Beacon Node database",
    18  	Subcommands: []*cli.Command{
    19  		{
    20  			Name:        "restore",
    21  			Description: `restores a database from a backup file`,
    22  			Flags: cmd.WrapFlags([]cli.Flag{
    23  				cmd.RestoreSourceFileFlag,
    24  				cmd.RestoreTargetDirFlag,
    25  			}),
    26  			Before: tos.VerifyTosAcceptedOrPrompt,
    27  			Action: func(cliCtx *cli.Context) error {
    28  				if err := beacondb.Restore(cliCtx); err != nil {
    29  					log.Fatalf("Could not restore database: %v", err)
    30  				}
    31  				return nil
    32  			},
    33  		},
    34  	},
    35  }