package cmd import ( "fmt" "os" "github.com/spf13/cobra" ) // 定义导入子命令 var importCmd = &cobra.Command{ Use: "imp", Short: "导入数据模式", Run: func(cmd *cobra.Command, args []string) { // 定义参数变量 inputPath, _ := cmd.Flags().GetString("input") whitelistTable, _ := cmd.Flags().GetString("whitelist table") blacklistTable, _ := cmd.Flags().GetString("blacklist table") // 检查参数 if inputPath == "" { fmt.Println("错误:必须指定文件目录 (-l)") cmd.Usage() os.Exit(1) } // 验证两个参数不能同时存在 if whitelistTable != "" && blacklistTable != "" { fmt.Println("错误:`whitelist-table` 和 `blacklist-table` 不能同时指定。请选择其中一个。") cmd.Usage() os.Exit(1) } // if tableName == "" { // fmt.Println("错误:必须指定表名 (-t)") // cmd.Usage() // os.Exit(1) // } // 打印接收到的参数 fmt.Printf("执行模式: 导入\n") fmt.Printf("输入路径: %s\n", inputPath) fmt.Printf("白名单 表名: %s\n", whitelistTable) fmt.Printf("黑名单 表名: %s\n", blacklistTable) // controllers.ImportController(inputPath) }, } // 初始化导入子命令的标志 func init() { importCmd.Flags().StringP("input", "l", "", "输入目录路径 (必选)") importCmd.Flags().StringP("whitelist table", "w", "", "指定导入的表 (可选)\"表名,表名,表名\"") importCmd.Flags().StringP("blacklist table", "b", "", "指定不导入的表 (可选)\"表名,表名,表名\"") }