migr8r is hard cause impls inconsistent
parent
f647664b54
commit
5aa0b90dc1
22
cli/migr8.go
22
cli/migr8.go
|
|
@ -10,29 +10,38 @@ import (
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
DBs [2]storage.DB
|
DBs [2]storage.DB
|
||||||
|
NSs [2]string
|
||||||
Dry bool
|
Dry bool
|
||||||
|
args *args.ArgSet
|
||||||
}
|
}
|
||||||
|
|
||||||
func (config Config) String() string {
|
func (config Config) String() string {
|
||||||
return fmt.Sprintf("{1:%T 2:%T Dry:%v}", config.DBs[0], config.DBs[1], config.Dry)
|
return fmt.Sprintf(
|
||||||
|
"{1:%T 1NS:%s 2:%T 2NS:%s Dry:%v}",
|
||||||
|
config.DBs[0],
|
||||||
|
config.NSs[0],
|
||||||
|
config.DBs[1],
|
||||||
|
config.NSs[1],
|
||||||
|
config.Dry,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
c := config()
|
c := config()
|
||||||
resolve.DefaultNamespace = ""
|
resolve.DefaultNamespace = ""
|
||||||
keys, err := c.DBs[0].List(nil)
|
keys, err := c.DBs[0].List([]string{c.NSs[0]})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
log.Println(c)
|
log.Println(c)
|
||||||
for _, key := range keys {
|
for _, key := range keys {
|
||||||
v, err := c.DBs[0].Get(key)
|
v, err := c.DBs[0].Get(key, c.NSs[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
if c.Dry {
|
if c.Dry {
|
||||||
log.Printf("c.DBs[1].Set(%s, %s)", key, v)
|
log.Printf("%T@%s Set(%s, %s, %s)", c.DBs[1], c.args.GetString("2addr"), key, v, c.NSs[1])
|
||||||
} else if err := c.DBs[1].Set(key, v); err != nil {
|
} else if err := c.DBs[1].Set(key, v, c.NSs[1]); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -46,6 +55,7 @@ func config() Config {
|
||||||
as.Append(args.STRING, s+"pwd", s+"'s password", "")
|
as.Append(args.STRING, s+"pwd", s+"'s password", "")
|
||||||
as.Append(args.STRING, s+"addr", s+"'s addr", "")
|
as.Append(args.STRING, s+"addr", s+"'s addr", "")
|
||||||
as.Append(args.STRING, s+"type", s+"'s type", "")
|
as.Append(args.STRING, s+"type", s+"'s type", "")
|
||||||
|
as.Append(args.STRING, s+"ns", s+"'s namespace", resolve.DefaultNamespace)
|
||||||
}
|
}
|
||||||
as.Append(args.BOOL, "dry", "dry run", false)
|
as.Append(args.BOOL, "dry", "dry run", false)
|
||||||
if err := as.Parse(); err != nil {
|
if err := as.Parse(); err != nil {
|
||||||
|
|
@ -69,5 +79,7 @@ func config() Config {
|
||||||
return Config{
|
return Config{
|
||||||
DBs: stores,
|
DBs: stores,
|
||||||
Dry: as.GetBool("dry"),
|
Dry: as.GetBool("dry"),
|
||||||
|
NSs: [2]string{as.GetString("1ns"), as.GetString("2ns")},
|
||||||
|
args: as,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue