codegen

command module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 9, 2025 License: Apache-2.0 Imports: 5 Imported by: 0

README

Codegen

代码生成工具系列

安装

go install github.com/xyzbit/codegen@latest

errcode

dbrepo

用于生成 repo 层代码

  1. 进入 example 目录
   cd sqlgen/example
  1. 生成 repo 层代码: xx_adpter.go(接口实现)、xx_repo.go(接口定义)、xx_entity(实体)
  • 使用配置文件
codegen dbrepo gorm -c sqlgen.yaml
  • 混合使用配置文件和命令行参数
codegen dbrepo gorm -c sqlgen.yaml --mock-type sqlite
  • 纯命令行方式
codegen dbrepo gorm -f ./testdata/user.sql --table "user*" \
   --output './data' \
   --repo-output './service' \
   --entity-output './entity' \
   --repo-package 'github.com/xyzbit/codegen/sqlgen/example/service' \
   --entity-package 'github.com/xyzbit/codegen/sqlgen/example/entity'
  1. Mock 代码生成
codegen dbrepo gorm -c sqlgen.yaml --mock-type sqlite --mock-type docker

生成文件的文件在如下地址(文件已存则不会重复生成)

  1. 如何使用?
     import "github.com/xyzbit/gpkg/gormx"
     // ....
    
     // 列表查询
     users, err := s.usersRepo.List(ctx, gormx.NewQuery().Eq(entity.UserNickName, "lee"))
    
     // 事务
     err := gormx.Transaction(ctx, repo, func(txCtx context.Context) error {
     	user, err := userRepo.Create(txCtx, &User{UserNickName: "test"})
     	if err != nil {
     		return err
     	}
    
     	err = logRepo.Update(txCtx, &Log{Content: user.Name})
     	if err != nil {
     		return err
     	}
     	return nil
     })
    
    

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
set
pkg/infoschema
Package infoschema is a generated GoMock package.
Package infoschema is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL