1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package main
- import (
- "fmt"
- "os"
- "github.com/tal-tech/go-zero/core/logx"
- configgen "github.com/tal-tech/go-zero/tools/modelctl/model/configtemplategen"
- "github.com/tal-tech/go-zero/tools/modelctl/model/modelgen"
- "github.com/urfave/cli"
- )
- var commands = []cli.Command{
- {
- Name: "model",
- Usage: "generate model files",
- Subcommands: []cli.Command{
- {
- Name: "template",
- Usage: "generate the json config template",
- Action: configgen.ConfigCommand,
- },
- {
- Name: "file",
- Usage: "generated from a configuration file",
- Action: modelgen.FileModelCommand,
- Flags: []cli.Flag{
- cli.StringFlag{
- Name: "config,c",
- Usage: "the file path of config",
- },
- },
- },
- {
- Name: "cmd",
- Usage: "generated from the command line,it will be generated from ALL TABLES",
- Action: modelgen.CmdModelCommand,
- Flags: []cli.Flag{
- cli.StringFlag{
- Name: "address,a",
- Usage: "database connection address,format:\"[username]:[password]@[address]\"",
- },
- cli.StringFlag{
- Name: "schema,s",
- Usage: "the target database name",
- },
- cli.BoolFlag{
- Name: "force,f",
- Usage: "whether to force the generation, if it is, it may cause the source file to be lost,[default:false]",
- },
- cli.BoolFlag{
- Name: "redis,r",
- Usage: "whether to generate with redis cache when generating files,[default:false]",
- },
- },
- },
- },
- },
- }
- func main() {
- logx.Disable()
- app := cli.NewApp()
- app.Usage = "a cli tool to generate model"
- app.Version = "0.0.1"
- app.Commands = commands
- // cli already print error messages
- if err := app.Run(os.Args); err != nil {
- fmt.Println("error:", err)
- }
- }
|