package cmd import ( "fmt" "os" "xg_fetl/internal/controllers" "github.com/spf13/cobra" ) // 定义导出子命令 var exportCmd = &cobra.Command{ Use: "exp", Short: "导出数据模式", Run: func(cmd *cobra.Command, args []string) { // 定义参数变量 outputDir, _ := cmd.Flags().GetString("output") tableName, _ := cmd.Flags().GetString("table") // 检查参数 if tableName == "" { fmt.Println("错误:必须指定表对象名 (-t)") cmd.Usage() os.Exit(1) } // 打印接收到的参数 fmt.Printf("执行模式: 导出\n") fmt.Printf("输出目录: %s\n", outputDir) fmt.Printf("表对象名: %s\n", tableName) controllers.ExportController(outputDir) }, } // 初始化导出子命令的标志 func init() { exportCmd.Flags().StringP("output", "o", ".", "输出目录 (默认是当前目录)") exportCmd.Flags().StringP("table", "t", "", "表对象名,格式为 模式名.表名 (例如: test.t1)") }