Skip to content

Commit 6cf4080

Browse files
authored
Merge pull request #89 from zbml/master
refactor gorm table name
2 parents 3a066f3 + 6974bfc commit 6cf4080

File tree

13 files changed

+15
-53
lines changed

13 files changed

+15
-53
lines changed

internal/app/injector/gorm.go

+1
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,6 @@ func NewGormDB() (*gorm.DB, func(), error) {
5151
MaxIdleConns: cfg.Gorm.MaxIdleConns,
5252
MaxLifetime: cfg.Gorm.MaxLifetime,
5353
MaxOpenConns: cfg.Gorm.MaxOpenConns,
54+
TablePrefix: cfg.Gorm.TablePrefix,
5455
})
5556
}

internal/app/model/impl/gorm/entity/e_demo.go

-5
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,6 @@ type Demo struct {
3333
Creator string `gorm:"column:creator;size:36;"` // 创建者
3434
}
3535

36-
// TableName 表名
37-
func (a Demo) TableName() string {
38-
return a.Model.TableName("demo")
39-
}
40-
4136
// ToSchemaDemo 转换为demo对象
4237
func (a Demo) ToSchemaDemo() *schema.Demo {
4338
item := new(schema.Demo)

internal/app/model/impl/gorm/entity/e_menu.go

-5
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,6 @@ type Menu struct {
3838
Creator string `gorm:"column:creator;size:36;"` // 创建人
3939
}
4040

41-
// TableName 表名
42-
func (a Menu) TableName() string {
43-
return a.Model.TableName("menu")
44-
}
45-
4641
// ToSchemaMenu 转换为菜单对象
4742
func (a Menu) ToSchemaMenu() *schema.Menu {
4843
item := new(schema.Menu)

internal/app/model/impl/gorm/entity/e_menu_action.go

-5
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,6 @@ type MenuAction struct {
3131
Name string `gorm:"column:name;size:100;default:'';not null;"` // 动作名称
3232
}
3333

34-
// TableName 表名
35-
func (a MenuAction) TableName() string {
36-
return a.Model.TableName("menu_action")
37-
}
38-
3934
// ToSchemaMenuAction 转换为菜单动作对象
4035
func (a MenuAction) ToSchemaMenuAction() *schema.MenuAction {
4136
item := new(schema.MenuAction)

internal/app/model/impl/gorm/entity/e_menu_action_resource.go

-5
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,6 @@ type MenuActionResource struct {
3131
Path string `gorm:"column:path;size:100;default:'';not null;"` // 资源请求路径(支持/:id匹配)
3232
}
3333

34-
// TableName 表名
35-
func (a MenuActionResource) TableName() string {
36-
return a.Model.TableName("menu_action_resource")
37-
}
38-
3934
// ToSchemaMenuActionResource 转换为菜单动作关联资源对象
4035
func (a MenuActionResource) ToSchemaMenuActionResource() *schema.MenuActionResource {
4136
item := new(schema.MenuActionResource)

internal/app/model/impl/gorm/entity/e_role.go

-5
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,6 @@ type Role struct {
3333
Creator string `gorm:"column:creator;size:36;"` // 创建者
3434
}
3535

36-
// TableName 表名
37-
func (a Role) TableName() string {
38-
return a.Model.TableName("role")
39-
}
40-
4136
// ToSchemaRole 转换为角色对象
4237
func (a Role) ToSchemaRole() *schema.Role {
4338
item := new(schema.Role)

internal/app/model/impl/gorm/entity/e_role_menu.go

-5
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,6 @@ type RoleMenu struct {
3131
ActionID string `gorm:"column:action_id;size:36;index;default:'';not null;"` // 动作ID
3232
}
3333

34-
// TableName 表名
35-
func (a RoleMenu) TableName() string {
36-
return a.Model.TableName("role_menu")
37-
}
38-
3934
// ToSchemaRoleMenu 转换为角色菜单对象
4035
func (a RoleMenu) ToSchemaRoleMenu() *schema.RoleMenu {
4136
item := new(schema.RoleMenu)

internal/app/model/impl/gorm/entity/e_user.go

-5
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,6 @@ type User struct {
3535
Creator string `gorm:"column:creator;size:36;"` // 创建者
3636
}
3737

38-
// TableName 表名
39-
func (a User) TableName() string {
40-
return a.Model.TableName("user")
41-
}
42-
4338
// ToSchemaUser 转换为用户对象
4439
func (a User) ToSchemaUser() *schema.User {
4540
item := new(schema.User)

internal/app/model/impl/gorm/entity/e_user_role.go

-5
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,6 @@ type UserRole struct {
3030
RoleID string `gorm:"column:role_id;size:36;index;default:'';not null;"` // 角色内码
3131
}
3232

33-
// TableName 表名
34-
func (a UserRole) TableName() string {
35-
return a.Model.TableName("user_role")
36-
}
37-
3833
// ToSchemaUserRole 转换为用户角色对象
3934
func (a UserRole) ToSchemaUserRole() *schema.UserRole {
4035
item := new(schema.UserRole)

internal/app/model/impl/gorm/entity/entity.go

-6
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package entity
22

33
import (
44
"context"
5-
"fmt"
65
"time"
76

87
"github.com/LyricTian/gin-admin/v6/internal/app/config"
@@ -18,11 +17,6 @@ type Model struct {
1817
DeletedAt *time.Time `gorm:"column:deleted_at;index;"`
1918
}
2019

21-
// TableName table name
22-
func (Model) TableName(name string) string {
23-
return fmt.Sprintf("%s%s", config.C.Gorm.TablePrefix, name)
24-
}
25-
2620
// GetDB ...
2721
func GetDB(ctx context.Context, defDB *gorm.DB) *gorm.DB {
2822
trans, ok := icontext.FromTrans(ctx)

internal/app/model/impl/gorm/gorm.go

+5
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,14 @@ type Config struct {
2424
MaxLifetime int
2525
MaxOpenConns int
2626
MaxIdleConns int
27+
TablePrefix string
2728
}
2829

2930
// NewDB 创建DB实例
3031
func NewDB(c *Config) (*gorm.DB, func(), error) {
32+
gorm.DefaultTableNameHandler = func(db *gorm.DB, defaultTableName string) string {
33+
return c.TablePrefix + defaultTableName
34+
}
3135
db, err := gorm.Open(c.DBType, c.DSN)
3236
if err != nil {
3337
return nil, nil, err
@@ -49,6 +53,7 @@ func NewDB(c *Config) (*gorm.DB, func(), error) {
4953
return nil, cleanFunc, err
5054
}
5155

56+
db.SingularTable(true)
5257
db.DB().SetMaxIdleConns(c.MaxIdleConns)
5358
db.DB().SetMaxOpenConns(c.MaxOpenConns)
5459
db.DB().SetConnMaxLifetime(time.Duration(c.MaxLifetime) * time.Second)

pkg/auth/jwtauth/store/redis/redis.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,12 @@ func (s *Store) Set(ctx context.Context, tokenString string, expiration time.Dur
7272
}
7373

7474
// Delete ...
75-
func (s *Store) Delete(ctx context.Context, tokenString string) error {
76-
cmd := s.cli.Del(tokenString)
75+
func (s *Store) Delete(ctx context.Context, tokenString string) (bool, error) {
76+
cmd := s.cli.Del(s.wrapperKey(tokenString))
7777
if err := cmd.Err(); err != nil {
78-
return err
78+
return false, err
7979
}
80-
return nil
80+
return cmd.Val() > 0, nil
8181
}
8282

8383
// Check ...

pkg/auth/jwtauth/store/redis/redis_test.go

+5-3
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ const (
1313

1414
func TestStore(t *testing.T) {
1515
store := NewStore(&Config{
16-
Addr: addr,
17-
DB: 1,
16+
Addr: addr,
17+
DB: 1,
18+
KeyPrefix: "prefix",
1819
})
1920

2021
defer store.Close()
@@ -28,6 +29,7 @@ func TestStore(t *testing.T) {
2829
assert.Nil(t, err)
2930
assert.Equal(t, true, b)
3031

31-
err = store.Delete(ctx, key)
32+
b, err = store.Delete(ctx, key)
3233
assert.Nil(t, err)
34+
assert.Equal(t, true, b)
3335
}

0 commit comments

Comments
 (0)