Просмотр исходного кода

collection.delete requires _default_ as the default empty collection name

fix https://github.com/chrislusf/seaweedfs/issues/1677
Chris Lu 4 лет назад
Родитель
Сommit
3d47c38262
1 измененных файлов с 10 добавлено и 2 удалено
  1. 10 2
      weed/shell/command_collection_delete.go

+ 10 - 2
weed/shell/command_collection_delete.go

@@ -34,14 +34,22 @@ func (c *commandCollectionDelete) Do(args []string, commandEnv *CommandEnv, writ
 	}
 
 	colDeleteCommand := flag.NewFlagSet(c.Name(), flag.ContinueOnError)
-	collectionName := colDeleteCommand.String("collection", "", "collection to delete")
+	collectionName := colDeleteCommand.String("collection", "", "collection to delete. Use '_default_' for the empty-named collection.")
 	applyBalancing := colDeleteCommand.Bool("force", false, "apply the collection")
 	if err = colDeleteCommand.Parse(args); err != nil {
 		return nil
 	}
 
+	if *collectionName == "" {
+		return fmt.Errorf("empty collection name is not allowed")
+	}
+
+	if *collectionName == "_default_" {
+		*collectionName = ""
+	}
+
 	if !*applyBalancing {
-		fmt.Fprintf(writer, "collection %s will be deleted. Use -force to apply the change.\n", *collectionName)
+		fmt.Fprintf(writer, "collection '%s' will be deleted. Use -force to apply the change.\n", *collectionName)
 		return nil
 	}