Skip to content

release-v0.3.7

Choose a tag to compare

@mingqing mingqing released this 28 Aug 07:57
· 93 commits to main since this release

[0.3.7] - 2024-08-28

Fixed

修复 "security.enable" 关闭情况下的空指针

>> precheck environment
>> generation release version
>> generation code from proto files
>> generation database schema
Using config file: config/app-dev-local.yaml
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x38 pc=0x1032af7b0]

goroutine 1 [running]:
github.com/grpc-kit/pkg/cfg.(*LocalConfig).SecurityPolicyLoad(0x140007ea360, {0x103e8e510, 0x104d2ffa0}, {0x14000301860?})
	/Users/coding/go/pkg/mod/github.com/grpc-kit/pkg@v0.3.6/cfg/cfg.go:420 +0x140
github.com/opsaid/testdb/handler.(*Microservice).Register(0x1400018aa00, {0x103e8e510, 0x104d2ffa0})
	/Users/coding/go/src/git.lmq.io/training/testdb/handler/register.go:27 +0x1e0
main.startServer({0x103e8e510, 0x104d2ffa0})
	/Users/coding/go/src/git.lmq.io/training/testdb/cmd/server/main.go:72 +0x4c
main.main()
	/Users/coding/go/src/git.lmq.io/training/testdb/cmd/server/main.go:47 +0x158
exit status 2
make: *** [run] Error 1

Added

重构 database 引入 ent 框架

  1. 添加 "modeler/ent/entc.go" 文件;

  2. 添加 "modeler/ent/generate.go" 文件;

  3. 在 Makefile 添加 "generation database schema" 阶段;

  4. 变更 "handler/microservice.go" 中 Init 方法添加,如:

     // 其他个性扩展逻辑
     opts, err := m.privateExtended()
     if err != nil {
         return m, err
     }
    
     // 自定义配置初始化
     if err = m.thisCfg.Init(opts...); err != nil {
         return m, err
     }
  5. 更改 modeler/independent_cfg.go 添加 WithXXXOption;

  6. 在 handler/private.go 中注册方法,如:

     idpOpts := make([]modeler.ClientIndependentOption, 0)
     idpOpts = append(idpOpts, modeler.WithLogger(m.logger))
    
     driver, err := m.baseCfg.GetDatabaseEntSQLDriver()
     if err == nil && driver != nil {
     	idpOpts = append(idpOpts, modeler.WithDatabaseEntDriver(driver))
     }