export.go 962 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package cmd
  2. import (
  3. "fmt"
  4. "os"
  5. "xg_fetl/internal/controllers"
  6. "github.com/spf13/cobra"
  7. )
  8. // 定义导出子命令
  9. var exportCmd = &cobra.Command{
  10. Use: "exp",
  11. Short: "导出数据模式",
  12. Run: func(cmd *cobra.Command, args []string) {
  13. // 定义参数变量
  14. outputDir, _ := cmd.Flags().GetString("output")
  15. tableName, _ := cmd.Flags().GetString("table")
  16. // 检查参数
  17. if tableName == "" {
  18. fmt.Println("错误:必须指定表对象名 (-t)")
  19. cmd.Usage()
  20. os.Exit(1)
  21. }
  22. // 打印接收到的参数
  23. fmt.Printf("执行模式: 导出\n")
  24. fmt.Printf("输出目录: %s\n", outputDir)
  25. fmt.Printf("表对象名: %s\n", tableName)
  26. controllers.ExportController(outputDir)
  27. },
  28. }
  29. // 初始化导出子命令的标志
  30. func init() {
  31. exportCmd.Flags().StringP("output", "o", ".", "输出目录 (默认是当前目录)")
  32. exportCmd.Flags().StringP("table", "t", "", "表对象名,格式为 模式名.表名 (例如: test.t1)")
  33. }