Skip to content

Commit 41db0a5

Browse files
committed
feat: Adapt the Gorm code base
1 parent 242b314 commit 41db0a5

5 files changed

Lines changed: 44 additions & 40 deletions

File tree

db/client.go

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ type Client interface {
1313
Create(value interface{}) (int64, error)
1414
Delete(value interface{}, where ...interface{}) (int64, error)
1515
Save(value interface{}) (int64, error)
16-
Update(attrs ...interface{}) (int64, error)
16+
Update(column string, value interface{}) (int64, error)
1717
First(out interface{}, where ...interface{}) error
1818
Find(out interface{}, where ...interface{}) error
1919
AutoMigrate(values ...interface{}) error
2020
Begin() Client
2121
Rollback() error
2222
Commit() error
2323
HasTable(value interface{}) bool
24-
AddUniqueIndex(indexName string, columns ...string) error
25-
RemoveIndex(indexName string) error
24+
AddUniqueIndex(indexName string, columns interface{}) error
25+
RemoveIndex(indexName string, columns interface{}) error
2626
Model(value interface{}) Client
2727
Exec(query string, args ...interface{}) int64
2828
Rows(tableName string) (*sql.Rows, error)
@@ -42,16 +42,12 @@ func (c *gormClient) DropColumn(name string) error {
4242
func (c *gormClient) Close() error {
4343
return c.Close()
4444
}
45-
func (c *gormClient) AddUniqueIndex(indexName string, columns ...string) error {
46-
//TODO Add the interface abstraction layer
47-
var value interface{}
48-
return c.db.Migrator().CreateIndex(value, indexName)
45+
func (c *gormClient) AddUniqueIndex(indexName string, columns interface{}) error {
46+
return c.db.Migrator().CreateIndex(columns, indexName)
4947
}
5048

51-
func (c *gormClient) RemoveIndex(indexName string) error {
52-
//TODO Add the interface abstraction layer
53-
var value interface{}
54-
return c.db.Migrator().DropIndex(value, indexName)
49+
func (c *gormClient) RemoveIndex(indexName string, columns interface{}) error {
50+
return c.db.Migrator().DropIndex(columns, indexName)
5551
}
5652

5753
func (c *gormClient) Model(value interface{}) Client {
@@ -80,9 +76,8 @@ func (c *gormClient) Save(value interface{}) (int64, error) {
8076
return newDb.RowsAffected, newDb.Error
8177
}
8278

83-
func (c *gormClient) Update(attrs ...interface{}) (int64, error) {
84-
//TODO Adapt the functionality
85-
newDb := c.db.Update(attrs...)
79+
func (c *gormClient) Update(column string, value interface{}) (int64, error) {
80+
newDb := c.db.Update(column, value)
8681
return newDb.RowsAffected, newDb.Error
8782
}
8883

db/fakes/fake_client.go

Lines changed: 26 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

migration/V2_update_rg_migration.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,9 @@ func (v *V2UpdateRgMigration) Version() int {
1818
}
1919

2020
func (v *V2UpdateRgMigration) Run(sqlDB *db.SqlDB) error {
21-
return sqlDB.Client.Model(&models.RouterGroup{}).AddUniqueIndex("idx_rg_name", "name")
21+
type routerGroup struct {
22+
models.Model
23+
Name string `gorm:"index:idx_rg_name,unique" json:"name"`
24+
}
25+
return sqlDB.Client.AddUniqueIndex("idx_rg_name", &routerGroup{})
2226
}

migration/V4_add_rg_uniq_idx_tcp_route_migration.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@ func (v *V4AddRgUniqIdxTCPRoute) Version() int {
1818
}
1919

2020
func (v *V4AddRgUniqIdxTCPRoute) Run(sqlDB *db.SqlDB) error {
21-
err := sqlDB.Client.Model(&models.TcpRouteMapping{}).RemoveIndex("idx_tcp_route")
21+
err := sqlDB.Client.RemoveIndex("idx_tcp_route", &models.TcpRouteMapping{})
2222
if err != nil {
2323
return err
2424
}
25-
err = sqlDB.Client.Model(&models.TcpRouteMapping{}).AddUniqueIndex("idx_tcp_route", "router_group_guid", "host_port", "host_ip", "external_port")
25+
26+
err = sqlDB.Client.AddUniqueIndex("idx_tcp_route", &models.TcpRouteMapping{})
2627
return err
2728
}

migration/V5_sni_hostname_migration.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ func (v *V5SniHostnameMigration) Version() int {
1818
}
1919

2020
func (v *V5SniHostnameMigration) Run(sqlDB *db.SqlDB) error {
21-
_, err := sqlDB.Client.Model(&models.TcpRouteMapping{}).RemoveIndex("idx_tcp_route")
21+
err := sqlDB.Client.RemoveIndex("idx_tcp_route", &models.TcpRouteMapping{})
2222
if err != nil {
2323
return err
2424
}

0 commit comments

Comments
 (0)