|
|
|
package model
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/zeromicro/go-zero/tools/goctl/internal/cobrax"
|
|
|
|
"github.com/zeromicro/go-zero/tools/goctl/model/mongo"
|
|
|
|
"github.com/zeromicro/go-zero/tools/goctl/model/sql/command"
|
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
// Cmd describes a model command.
|
|
|
|
Cmd = cobrax.NewCommand("model")
|
|
|
|
mysqlCmd = cobrax.NewCommand("mysql")
|
|
|
|
ddlCmd = cobrax.NewCommand("ddl", cobrax.WithRunE(command.MysqlDDL))
|
|
|
|
datasourceCmd = cobrax.NewCommand("datasource", cobrax.WithRunE(command.MySqlDataSource))
|
|
|
|
pgCmd = cobrax.NewCommand("pg", cobrax.WithRunE(command.PostgreSqlDataSource))
|
|
|
|
pgDatasourceCmd = cobrax.NewCommand("datasource", cobrax.WithRunE(command.PostgreSqlDataSource))
|
|
|
|
mongoCmd = cobrax.NewCommand("mongo", cobrax.WithRunE(mongo.Action))
|
|
|
|
)
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
var (
|
|
|
|
ddlCmdFlags = ddlCmd.Flags()
|
|
|
|
datasourceCmdFlags = datasourceCmd.Flags()
|
|
|
|
pgDatasourceCmdFlags = pgDatasourceCmd.Flags()
|
|
|
|
mongoCmdFlags = mongoCmd.Flags()
|
|
|
|
)
|
|
|
|
|
|
|
|
ddlCmdFlags.StringVarP(&command.VarStringSrc, "src", "s")
|
|
|
|
ddlCmdFlags.StringVarP(&command.VarStringDir, "dir", "d")
|
|
|
|
ddlCmdFlags.StringVar(&command.VarStringStyle, "style")
|
|
|
|
ddlCmdFlags.BoolVarP(&command.VarBoolCache, "cache", "c")
|
|
|
|
ddlCmdFlags.BoolVar(&command.VarBoolIdea, "idea")
|
|
|
|
ddlCmdFlags.StringVar(&command.VarStringDatabase, "database")
|
|
|
|
ddlCmdFlags.StringVar(&command.VarStringHome, "home")
|
|
|
|
ddlCmdFlags.StringVar(&command.VarStringRemote, "remote")
|
|
|
|
ddlCmdFlags.StringVar(&command.VarStringBranch, "branch")
|
|
|
|
|
|
|
|
datasourceCmdFlags.StringVar(&command.VarStringURL, "url")
|
|
|
|
datasourceCmdFlags.StringSliceVarP(&command.VarStringSliceTable, "table", "t")
|
|
|
|
datasourceCmdFlags.BoolVarP(&command.VarBoolCache, "cache", "c")
|
|
|
|
datasourceCmdFlags.StringVarP(&command.VarStringDir, "dir", "d")
|
|
|
|
datasourceCmdFlags.StringVar(&command.VarStringStyle, "style")
|
|
|
|
datasourceCmdFlags.BoolVar(&command.VarBoolIdea, "idea")
|
|
|
|
datasourceCmdFlags.StringVar(&command.VarStringHome, "home")
|
|
|
|
datasourceCmdFlags.StringVar(&command.VarStringRemote, "remote")
|
|
|
|
datasourceCmdFlags.StringVar(&command.VarStringBranch, "branch")
|
|
|
|
|
|
|
|
pgDatasourceCmdFlags.StringVar(&command.VarStringURL, "url")
|
|
|
|
pgDatasourceCmdFlags.StringVarP(&command.VarStringTable, "table", "t")
|
|
|
|
pgDatasourceCmdFlags.StringVarPWithDefaultValue(&command.VarStringSchema, "schema", "s", "public")
|
|
|
|
pgDatasourceCmdFlags.BoolVarP(&command.VarBoolCache, "cache", "c")
|
|
|
|
pgDatasourceCmdFlags.StringVarP(&command.VarStringDir, "dir", "d")
|
|
|
|
pgDatasourceCmdFlags.StringVar(&command.VarStringStyle, "style")
|
|
|
|
pgDatasourceCmdFlags.BoolVar(&command.VarBoolIdea, "idea")
|
|
|
|
pgDatasourceCmdFlags.BoolVar(&command.VarBoolStrict, "strict")
|
|
|
|
pgDatasourceCmdFlags.StringVar(&command.VarStringHome, "home")
|
|
|
|
pgDatasourceCmdFlags.StringVar(&command.VarStringRemote, "remote")
|
|
|
|
pgDatasourceCmdFlags.StringVar(&command.VarStringBranch, "branch")
|
|
|
|
pgCmd.PersistentFlags().StringSliceVarPWithDefaultValue(&command.VarStringSliceIgnoreColumns,
|
|
|
|
"ignore-columns", "i", []string{"create_at", "created_at", "create_time", "update_at", "updated_at", "update_time"})
|
|
|
|
|
|
|
|
mongoCmdFlags.StringSliceVarP(&mongo.VarStringSliceType, "type", "t")
|
|
|
|
mongoCmdFlags.BoolVarP(&mongo.VarBoolCache, "cache", "c")
|
|
|
|
mongoCmdFlags.BoolVarP(&mongo.VarBoolEasy, "easy", "e")
|
|
|
|
mongoCmdFlags.StringVarP(&mongo.VarStringDir, "dir", "d")
|
|
|
|
mongoCmdFlags.StringVar(&mongo.VarStringStyle, "style")
|
|
|
|
mongoCmdFlags.StringVar(&mongo.VarStringHome, "home")
|
|
|
|
mongoCmdFlags.StringVar(&mongo.VarStringRemote, "remote")
|
|
|
|
mongoCmdFlags.StringVar(&mongo.VarStringBranch, "branch")
|
|
|
|
|
|
|
|
mysqlCmd.PersistentFlags().BoolVar(&command.VarBoolStrict, "strict")
|
|
|
|
mysqlCmd.PersistentFlags().StringSliceVarPWithDefaultValue(&command.VarStringSliceIgnoreColumns,
|
|
|
|
"ignore-columns", "i", []string{"create_at", "created_at", "create_time", "update_at", "updated_at", "update_time"})
|
|
|
|
|
|
|
|
mysqlCmd.AddCommand(datasourceCmd, ddlCmd)
|
|
|
|
pgCmd.AddCommand(pgDatasourceCmd)
|
|
|
|
Cmd.AddCommand(mysqlCmd, mongoCmd, pgCmd)
|
|
|
|
}
|