@@ -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 {
4242func (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
5753func (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
0 commit comments