github.com/RevenueMonster/sqlike@v1.0.6/sqlike/helper.go (about) 1 package sqlike 2 3 import ( 4 "github.com/RevenueMonster/sqlike/reflext" 5 "github.com/RevenueMonster/sqlike/sql/util" 6 "github.com/RevenueMonster/sqlike/sqlike/logs" 7 ) 8 9 func getLogger(logger logs.Logger, debug bool) logs.Logger { 10 if debug { 11 return logger 12 } 13 return nil 14 } 15 16 // we should skip column generated by virtual & stored columns on insertion and migration 17 func skipColumns(sfs []reflext.StructFielder, omits util.StringSlice) (fields []reflext.StructFielder) { 18 fields = make([]reflext.StructFielder, 0, len(sfs)) 19 length := len(omits) 20 for _, sf := range sfs { 21 // omit all the struct field with `generated_column` tag, it shouldn't include when inserting to the db 22 if _, ok := sf.Tag().LookUp("generated_column"); ok { 23 continue 24 } 25 // omit all the field provided by user 26 if length > 0 && omits.IndexOf(sf.Name()) > -1 { 27 continue 28 } 29 fields = append(fields, sf) 30 } 31 return 32 }