• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

yyle88 / gormcnm / 14241852105

03 Apr 2025 11:27AM UTC coverage: 54.912% (+1.3%) from 53.596%
14241852105

push

github

yangyile
添加几个列名装饰函数

41 of 57 new or added lines in 3 files covered. (71.93%)

436 of 794 relevant lines covered (54.91%)

8.43 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

76.0
/internal/examples/example4/example4.go
1
package example4
2

3
import "github.com/yyle88/gormcnm"
4

5
// 当模型/表的数量比较多时,也可以使用名字空间把列名包裹起来
6
// 比如下面的 UserColumns 和 OrderColumns 两个名字空间
7
// 这样就能在不同表有重名的列时就能避免混淆
8
// 区分得很清楚
9
// 当然这个代码其实可以通过语法分析自动得到
10
// 在项目 https://github.com/yyle88/gormcngen 里有自动生成列名的逻辑,就能自动配置啦,里面有各种示例,非常便捷
11

12
type User struct {
13
        ID   uint
14
        Name string
15
}
16

17
func (*User) TableName() string {
14✔
18
        return "users"
14✔
19
}
14✔
20

NEW
21
func (T *User) Columns() *UserColumns {
×
NEW
22
        return T.ColumnsWithDecoration(gormcnm.NewPlainDecoration())
×
NEW
23
}
×
24

25
func (T *User) ColumnsWithDecoration(decoration gormcnm.ColumnNameDecoration) *UserColumns {
6✔
26
        return &UserColumns{
6✔
27
                ID:   gormcnm.Cmn(T.ID, "id", decoration),
6✔
28
                Name: gormcnm.Cmn(T.Name, "name", decoration),
6✔
29
        }
6✔
30
}
6✔
31

32
type UserColumns struct {
33
        gormcnm.ColumnOperationClass //继承操作函数,让查询更便捷
34
        // 模型各个列名和类型:
35
        ID   gormcnm.ColumnName[uint]
36
        Name gormcnm.ColumnName[string]
37
}
38

39
type Order struct {
40
        ID     uint
41
        UserID uint
42
        Amount float64
43
}
44

45
func (*Order) TableName() string {
14✔
46
        return "orders"
14✔
47
}
14✔
48

NEW
49
func (T *Order) Columns() *OrderColumns {
×
NEW
50
        return T.ColumnsWithDecoration(gormcnm.NewPlainDecoration())
×
NEW
51
}
×
52

53
func (T *Order) ColumnsWithDecoration(decoration gormcnm.ColumnNameDecoration) *OrderColumns {
6✔
54
        return &OrderColumns{
6✔
55
                ID:     gormcnm.Cmn(T.ID, "id", decoration),
6✔
56
                UserID: gormcnm.Cmn(T.UserID, "user_id", decoration),
6✔
57
                Amount: gormcnm.Cmn(T.Amount, "amount", decoration),
6✔
58
        }
6✔
59
}
6✔
60

61
type OrderColumns struct {
62
        gormcnm.ColumnOperationClass //继承操作函数,让查询更便捷
63
        // 模型各个列名和类型:
64
        ID     gormcnm.ColumnName[uint]
65
        UserID gormcnm.ColumnName[uint]
66
        Amount gormcnm.ColumnName[float64]
67
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc