import.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package cmd
  2. import (
  3. "fmt"
  4. "os"
  5. "github.com/spf13/cobra"
  6. )
  7. // 定义导入子命令
  8. var importCmd = &cobra.Command{
  9. Use: "imp",
  10. Short: "导入数据模式",
  11. Run: func(cmd *cobra.Command, args []string) {
  12. // 定义参数变量
  13. inputPath, _ := cmd.Flags().GetString("input")
  14. whitelistTable, _ := cmd.Flags().GetString("whitelist table")
  15. blacklistTable, _ := cmd.Flags().GetString("blacklist table")
  16. // 检查参数
  17. if inputPath == "" {
  18. fmt.Println("错误:必须指定文件目录 (-l)")
  19. cmd.Usage()
  20. os.Exit(1)
  21. }
  22. // 验证两个参数不能同时存在
  23. if whitelistTable != "" && blacklistTable != "" {
  24. fmt.Println("错误:`whitelist-table` 和 `blacklist-table` 不能同时指定。请选择其中一个。")
  25. cmd.Usage()
  26. os.Exit(1)
  27. }
  28. // if tableName == "" {
  29. // fmt.Println("错误:必须指定表名 (-t)")
  30. // cmd.Usage()
  31. // os.Exit(1)
  32. // }
  33. // 打印接收到的参数
  34. fmt.Printf("执行模式: 导入\n")
  35. fmt.Printf("输入路径: %s\n", inputPath)
  36. fmt.Printf("白名单 表名: %s\n", whitelistTable)
  37. fmt.Printf("黑名单 表名: %s\n", blacklistTable)
  38. // controllers.ImportController(inputPath)
  39. },
  40. }
  41. // 初始化导入子命令的标志
  42. func init() {
  43. importCmd.Flags().StringP("input", "l", "", "输入目录路径 (必选)")
  44. importCmd.Flags().StringP("whitelist table", "w", "", "指定导入的表 (可选)\"表名,表名,表名\"")
  45. importCmd.Flags().StringP("blacklist table", "b", "", "指定不导入的表 (可选)\"表名,表名,表名\"")
  46. }