mirror of https://github.com/milvus-io/milvus.git
31 lines
1004 B
Go
31 lines
1004 B
Go
package command
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/milvus-io/milvus/cmd/tools/migration/configs"
|
|
|
|
"github.com/milvus-io/milvus/cmd/tools/migration/console"
|
|
|
|
"github.com/milvus-io/milvus/cmd/tools/migration/migration"
|
|
)
|
|
|
|
func Run(c *configs.Config) {
|
|
ctx := context.Background()
|
|
runner := migration.NewRunner(ctx, c)
|
|
console.AbnormalExitIf(runner.CheckSessions(), false)
|
|
console.AbnormalExitIf(runner.RegisterSession(), false)
|
|
fn := func() { runner.Stop() }
|
|
defer fn()
|
|
// double check.
|
|
console.AbnormalExitIf(runner.CheckSessions(), false, console.AddCallbacks(fn))
|
|
console.AbnormalExitIf(runner.Validate(), false, console.AddCallbacks(fn))
|
|
console.NormalExitIf(runner.CheckCompatible(), "version compatible, no need to migrate", console.AddCallbacks(fn))
|
|
if c.RunWithBackup {
|
|
console.AbnormalExitIf(runner.Backup(), false, console.AddCallbacks(fn))
|
|
} else {
|
|
console.Warning("run migration without backup!")
|
|
}
|
|
console.AbnormalExitIf(runner.Migrate(), true, console.AddCallbacks(fn))
|
|
}
|