func main() { defer func() { if panicErr := recover(); panicErr != nil { log.Fatalf("panic: %v", tb.Errorf("%v", panicErr)) } }() flag.Parse() args := flag.Args() if len(args) != 0 { flag.Usage() os.Exit(1) } flag.Set("alsologtostderr", "true") if *fromTopo == "" || *toTopo == "" { log.Fatalf("Need both from and to topo") } fromTS := topo.GetServerByName(*fromTopo) toTS := topo.GetServerByName(*toTopo) if *doKeyspaces { topotools.CopyKeyspaces(fromTS, toTS) } if *doShards { topotools.CopyShards(fromTS, toTS, *deleteKeyspaceShards) } if *doTablets { topotools.CopyTablets(fromTS, toTS) } }
func main() { defer func() { if panicErr := recover(); panicErr != nil { relog.Fatal("panic: %v", tb.Errorf("%v", panicErr)) } }() flag.Parse() args := flag.Args() if len(args) != 0 { flag.Usage() os.Exit(1) } logLevel, err := relog.LogNameToLogLevel(*logLevel) if err != nil { relog.Fatal("%v", err) } relog.SetLevel(logLevel) if *fromTopo == "" || *toTopo == "" { relog.Fatal("Need both from and to topo") } fromTS := topo.GetServerByName(*fromTopo) toTS := topo.GetServerByName(*toTopo) if *doKeyspaces { topotools.CopyKeyspaces(fromTS, toTS) } if *doShards { topotools.CopyShards(fromTS, toTS, *deleteKeyspaceShards) } if *doTablets { topotools.CopyTablets(fromTS, toTS) } }