1package cmd
2
3import (
4	"github.com/aptly-dev/aptly/database"
5	"github.com/smira/commander"
6)
7
8// aptly db recover
9func aptlyDbRecover(cmd *commander.Command, args []string) error {
10	var err error
11
12	if len(args) != 0 {
13		cmd.Usage()
14		return commander.ErrCommandError
15	}
16
17	context.Progress().Printf("Recovering database...\n")
18	err = database.RecoverDB(context.DBPath())
19
20	return err
21}
22
23func makeCmdDbRecover() *commander.Command {
24	cmd := &commander.Command{
25		Run:       aptlyDbRecover,
26		UsageLine: "recover",
27		Short:     "recover DB after crash",
28		Long: `
29Database recover does its' best to recover the database after a crash.
30It is recommended to backup the DB before running recover.
31
32Example:
33
34  $ aptly db recover
35`,
36	}
37
38	return cmd
39}
40