github.com/artisanhe/tools@v1.0.1-0.20210607022958-19a8fef2eb04/cmd/cmd_gen_tag.go (about)

     1  package cmd
     2  
     3  import (
     4  	"github.com/spf13/cobra"
     5  
     6  	"github.com/artisanhe/tools/codegen"
     7  	"github.com/artisanhe/tools/sqlx/gen"
     8  )
     9  
    10  var withDefaults bool
    11  
    12  var cmdGenTag = &cobra.Command{
    13  	Use:   "tag",
    14  	Short: "generate db model tags",
    15  	Run: func(cmd *cobra.Command, args []string) {
    16  		if len(args) == 0 {
    17  			return
    18  		}
    19  		g := gen.TagGenerator{
    20  			WithDefaults: withDefaults,
    21  		}
    22  		g.StructNames = args
    23  		codegen.Generate(&g)
    24  	},
    25  }
    26  
    27  func init() {
    28  	cmdGenTag.Flags().
    29  		BoolVarP(&withDefaults, "defaults", "", false, "generate tags with Default")
    30  
    31  	cmdGen.AddCommand(cmdGenTag)
    32  }