cmd.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package model
  2. import (
  3. "github.com/wuntsong-org/go-zero-plus/tools/goctlwt/internal/cobrax"
  4. "github.com/wuntsong-org/go-zero-plus/tools/goctlwt/model/mongo"
  5. "github.com/wuntsong-org/go-zero-plus/tools/goctlwt/model/sql/command"
  6. )
  7. var (
  8. // Cmd describes a model command.
  9. Cmd = cobrax.NewCommand("model")
  10. mysqlCmd = cobrax.NewCommand("mysql")
  11. ddlCmd = cobrax.NewCommand("ddl", cobrax.WithRunE(command.MysqlDDL))
  12. datasourceCmd = cobrax.NewCommand("datasource", cobrax.WithRunE(command.MySqlDataSource))
  13. pgCmd = cobrax.NewCommand("pg", cobrax.WithRunE(command.PostgreSqlDataSource))
  14. pgDatasourceCmd = cobrax.NewCommand("datasource", cobrax.WithRunE(command.PostgreSqlDataSource))
  15. mongoCmd = cobrax.NewCommand("mongo", cobrax.WithRunE(mongo.Action))
  16. )
  17. func init() {
  18. var (
  19. ddlCmdFlags = ddlCmd.Flags()
  20. datasourceCmdFlags = datasourceCmd.Flags()
  21. pgDatasourceCmdFlags = pgDatasourceCmd.Flags()
  22. mongoCmdFlags = mongoCmd.Flags()
  23. )
  24. ddlCmdFlags.StringVarP(&command.VarStringSrc, "src", "s")
  25. ddlCmdFlags.StringVarP(&command.VarStringDir, "dir", "d")
  26. ddlCmdFlags.StringVar(&command.VarStringStyle, "style")
  27. ddlCmdFlags.BoolVarP(&command.VarBoolCache, "cache", "c")
  28. ddlCmdFlags.BoolVar(&command.VarBoolIdea, "idea")
  29. ddlCmdFlags.StringVar(&command.VarStringDatabase, "database")
  30. ddlCmdFlags.StringVar(&command.VarStringHome, "home")
  31. ddlCmdFlags.StringVar(&command.VarStringRemote, "remote")
  32. ddlCmdFlags.StringVar(&command.VarStringBranch, "branch")
  33. datasourceCmdFlags.StringVar(&command.VarStringURL, "url")
  34. datasourceCmdFlags.StringSliceVarP(&command.VarStringSliceTable, "table", "t")
  35. datasourceCmdFlags.BoolVarP(&command.VarBoolCache, "cache", "c")
  36. datasourceCmdFlags.StringVarP(&command.VarStringDir, "dir", "d")
  37. datasourceCmdFlags.StringVar(&command.VarStringStyle, "style")
  38. datasourceCmdFlags.BoolVar(&command.VarBoolIdea, "idea")
  39. datasourceCmdFlags.StringVar(&command.VarStringHome, "home")
  40. datasourceCmdFlags.StringVar(&command.VarStringRemote, "remote")
  41. datasourceCmdFlags.StringVar(&command.VarStringBranch, "branch")
  42. pgDatasourceCmdFlags.StringVar(&command.VarStringURL, "url")
  43. pgDatasourceCmdFlags.StringVarP(&command.VarStringTable, "table", "t")
  44. pgDatasourceCmdFlags.StringVarPWithDefaultValue(&command.VarStringSchema, "schema", "s", "public")
  45. pgDatasourceCmdFlags.BoolVarP(&command.VarBoolCache, "cache", "c")
  46. pgDatasourceCmdFlags.StringVarP(&command.VarStringDir, "dir", "d")
  47. pgDatasourceCmdFlags.StringVar(&command.VarStringStyle, "style")
  48. pgDatasourceCmdFlags.BoolVar(&command.VarBoolIdea, "idea")
  49. pgDatasourceCmdFlags.BoolVar(&command.VarBoolStrict, "strict")
  50. pgDatasourceCmdFlags.StringVar(&command.VarStringHome, "home")
  51. pgDatasourceCmdFlags.StringVar(&command.VarStringRemote, "remote")
  52. pgDatasourceCmdFlags.StringVar(&command.VarStringBranch, "branch")
  53. mongoCmdFlags.StringSliceVarP(&mongo.VarStringSliceType, "type", "t")
  54. mongoCmdFlags.BoolVarP(&mongo.VarBoolCache, "cache", "c")
  55. mongoCmdFlags.BoolVarP(&mongo.VarBoolEasy, "easy", "e")
  56. mongoCmdFlags.StringVarP(&mongo.VarStringDir, "dir", "d")
  57. mongoCmdFlags.StringVar(&mongo.VarStringStyle, "style")
  58. mongoCmdFlags.StringVar(&mongo.VarStringHome, "home")
  59. mongoCmdFlags.StringVar(&mongo.VarStringRemote, "remote")
  60. mongoCmdFlags.StringVar(&mongo.VarStringBranch, "branch")
  61. mysqlCmd.PersistentFlags().BoolVar(&command.VarBoolStrict, "strict")
  62. mysqlCmd.PersistentFlags().StringSliceVarPWithDefaultValue(&command.VarStringSliceIgnoreColumns, "ignore-columns", "i", []string{"create_at", "created_at", "create_time", "update_at", "updated_at", "update_time"})
  63. mysqlCmd.AddCommand(datasourceCmd, ddlCmd)
  64. pgCmd.AddCommand(pgDatasourceCmd)
  65. Cmd.AddCommand(mysqlCmd, mongoCmd, pgCmd)
  66. }