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