go-gorm / go-gorm/cli

missing schema when using interface

Open
#32 0 comments 0 reactions 1 assignee Claimed by @jinzhu View on GitHub
Dominant language
Go
Stars
108
Forks
15
PR merge metrics
No merged PRs in 30d

Description

## Description

```go
type User struct {
kk_models.BaseModel[PBUser_UserStatus]
Email string `gorm:"column:email;type:text;default:'';not null" `
RealName string `gorm:"column:real_name;type:text;default:'';not null"`
Password string `gorm:"column:password;type:text;default:'';not null"`
TelNum string `gorm:"column:tel_num;type:text;default:'';not null" `
IdCard string `gorm:"column:id_card;type:text;default:'';not null"`
}

func (x *User) TableName() string {
// user为pg的关键字
return "ss.user"
}

type Query[T any] interface {
// SELECT * FROM @@table WHERE id=@id
GetByID(id string) (T, error)
}
```

```go
o, err := gorm.G[orm.User](kk_pg.GormClient).Where("id=?", "019a6d20-286d-7301-8e88-ffa3c7967212").Take(context.Background())
assert.NoError(t, err)
t.Logf("%+v", o) ✅

byID, err := g.Query[orm.User](kk_pg.GormClient).GetByID(context.Background(), "019a6d20-286d-7301-8e88-ffa3c7967212")
assert.NoError(t, err)❌
t.Logf("%+v", byID)
```

```sh
2025/12/09 15:26:09 logger.go:172: /Users/cruvie/Documents/cruvie/ss/ss_go/service_base/models/g/query.go:37 ERROR: relation "user" does not exist (SQLSTATE 42P01)
[5.400ms] [rows:0] SELECT * FROM "user" WHERE id='019a6d20-286d-7301-8e88-ffa3c7967212'
gen_test.go:68:
Error Trace: /Users/cruvie/Documents/cruvie/ss/ss_go/service_base/models/query/gen_test.go:68
Error: Received unexpected error:
ERROR: relation "user" does not exist (SQLSTATE 42P01)
Test: TestQuery
gen_test.go:69: {BaseModel:{Id: CreatedAt:0001-01-01 00:00:00 +0000 UTC UpdatedAt:0001-01-01 00:00:00 +0000 UTC Status:Status_Unknown Remark:} Email: RealName: Password: TelNum: IdCard:}
```
right sql should be
```sh
SELECT * FROM "ss"."user" WHERE id='019a6d20-286d-7301-8e88-ffa3c7967212'
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.