()
| 137 | } |
| 138 | |
| 139 | func initAllClients() (*mongo.Client, *mongo.Client, error) { |
| 140 | srcClient, err := GetMongoClient(*srcMongoUrl) |
| 141 | if err != nil { |
| 142 | log.Errorf("get src mongo client failed: %v", err) |
| 143 | return nil, nil, err |
| 144 | } |
| 145 | err = srcClient.Ping(context.Background(), nil) |
| 146 | if err != nil { |
| 147 | log.Errorf("ping src mongo client failed: %v", err) |
| 148 | return nil, nil, err |
| 149 | } |
| 150 | |
| 151 | dstClient, err := GetMongoClient(*dstMongoUrl) |
| 152 | if err != nil { |
| 153 | // 如果是dryRun模式,不强制需要连接目标数据库 |
| 154 | if *dryRun { |
| 155 | log.Infof("get dst mongo client failed: %v, but we are in dry-run mode, skip...", err) |
| 156 | return srcClient, nil, nil |
| 157 | } |
| 158 | log.Errorf("get dst mongo client failed: %v", err) |
| 159 | return srcClient, nil, err |
| 160 | } |
| 161 | |
| 162 | err = dstClient.Ping(context.Background(), nil) |
| 163 | if err != nil { |
| 164 | log.Errorf("ping mongo client failed: %v, %v", err, err) |
| 165 | return srcClient, dstClient, err |
| 166 | } |
| 167 | |
| 168 | return srcClient, dstClient, nil |
| 169 | } |
| 170 | |
| 171 | func getDbVersionArray(client *mongo.Client) (Version, error) { |
| 172 | var version Version |
no test coverage detected