mirror of
https://github.com/tangpanqing/aorm.git
synced 2025-10-05 16:06:56 +08:00
update
This commit is contained in:
@@ -2,7 +2,7 @@ package builder
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/tangpanqing/aorm/helper"
|
"github.com/tangpanqing/aorm/utils"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
@@ -98,7 +98,7 @@ func getPrefixByField(field interface{}, prefix ...string) string {
|
|||||||
|
|
||||||
tableName := getTableMap(tablePointer)
|
tableName := getTableMap(tablePointer)
|
||||||
strArr := strings.Split(tableName, ".")
|
strArr := strings.Split(tableName, ".")
|
||||||
str = helper.UnderLine(strArr[len(strArr)-1])
|
str = utils.UnderLine(strArr[len(strArr)-1])
|
||||||
} else {
|
} else {
|
||||||
str = fmt.Sprintf("%v", field)
|
str = fmt.Sprintf("%v", field)
|
||||||
}
|
}
|
||||||
@@ -117,7 +117,7 @@ func getTableNameByTable(table interface{}) string {
|
|||||||
if reflect.Ptr == valueOf.Kind() {
|
if reflect.Ptr == valueOf.Kind() {
|
||||||
tableName := getTableMap(valueOf.Pointer())
|
tableName := getTableMap(valueOf.Pointer())
|
||||||
strArr := strings.Split(tableName, ".")
|
strArr := strings.Split(tableName, ".")
|
||||||
return helper.UnderLine(strArr[len(strArr)-1])
|
return utils.UnderLine(strArr[len(strArr)-1])
|
||||||
} else {
|
} else {
|
||||||
return fmt.Sprintf("%v", table)
|
return fmt.Sprintf("%v", table)
|
||||||
}
|
}
|
||||||
@@ -127,7 +127,7 @@ func getTableNameByTable(table interface{}) string {
|
|||||||
func getFieldName(field interface{}) string {
|
func getFieldName(field interface{}) string {
|
||||||
valueOf := reflect.ValueOf(field)
|
valueOf := reflect.ValueOf(field)
|
||||||
if reflect.Ptr == valueOf.Kind() {
|
if reflect.Ptr == valueOf.Kind() {
|
||||||
return helper.UnderLine(getFieldMap(reflect.ValueOf(field).Pointer()).Name)
|
return utils.UnderLine(getFieldMap(reflect.ValueOf(field).Pointer()).Name)
|
||||||
} else {
|
} else {
|
||||||
return fmt.Sprintf("%v", field)
|
return fmt.Sprintf("%v", field)
|
||||||
}
|
}
|
||||||
@@ -143,7 +143,7 @@ func getTableNameByReflect(typeOf reflect.Type, valueOf reflect.Value) string {
|
|||||||
return res[0].String()
|
return res[0].String()
|
||||||
} else {
|
} else {
|
||||||
arr := strings.Split(typeOf.String(), ".")
|
arr := strings.Split(typeOf.String(), ".")
|
||||||
return helper.UnderLine(arr[len(arr)-1])
|
return utils.UnderLine(arr[len(arr)-1])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -161,7 +161,7 @@ func getFieldMapByReflect(destValue reflect.Value, destType reflect.Type) map[st
|
|||||||
func getScansAddr(columnNameList []string, fieldNameMap map[string]int, destValue reflect.Value) []interface{} {
|
func getScansAddr(columnNameList []string, fieldNameMap map[string]int, destValue reflect.Value) []interface{} {
|
||||||
var scans []interface{}
|
var scans []interface{}
|
||||||
for _, columnName := range columnNameList {
|
for _, columnName := range columnNameList {
|
||||||
fieldName := helper.CamelString(strings.ToLower(columnName))
|
fieldName := utils.CamelString(strings.ToLower(columnName))
|
||||||
index, ok := fieldNameMap[fieldName]
|
index, ok := fieldNameMap[fieldName]
|
||||||
if ok {
|
if ok {
|
||||||
scans = append(scans, destValue.Field(index).Addr().Interface())
|
scans = append(scans, destValue.Field(index).Addr().Interface())
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
package builder
|
package builder
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/tangpanqing/aorm/helper"
|
"github.com/tangpanqing/aorm/utils"
|
||||||
"reflect"
|
"reflect"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ func getFieldMap(fieldPointer uintptr) FieldInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getFieldNameByReflect(field reflect.StructField) (string, map[string]string) {
|
func getFieldNameByReflect(field reflect.StructField) (string, map[string]string) {
|
||||||
key := helper.UnderLine(field.Name)
|
key := utils.UnderLine(field.Name)
|
||||||
tag := field.Tag.Get("aorm")
|
tag := field.Tag.Get("aorm")
|
||||||
tagMap := getTagMap(tag)
|
tagMap := getTagMap(tag)
|
||||||
if column, ok := tagMap["column"]; ok {
|
if column, ok := tagMap["column"]; ok {
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
package builder
|
package builder
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/tangpanqing/aorm/helper"
|
"github.com/tangpanqing/aorm/utils"
|
||||||
"reflect"
|
"reflect"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ func (b *Builder) Having(dest interface{}) *Builder {
|
|||||||
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
||||||
isNotNull := valueOf.Elem().Field(i).Field(0).Field(1).Bool()
|
isNotNull := valueOf.Elem().Field(i).Field(0).Field(1).Bool()
|
||||||
if isNotNull {
|
if isNotNull {
|
||||||
key := helper.UnderLine(typeOf.Elem().Field(i).Name)
|
key := utils.UnderLine(typeOf.Elem().Field(i).Name)
|
||||||
val := valueOf.Elem().Field(i).Field(0).Field(0).Interface()
|
val := valueOf.Elem().Field(i).Field(0).Field(0).Interface()
|
||||||
b.havingList = append(b.havingList, WhereItem{Field: key, Opt: Eq, Val: val})
|
b.havingList = append(b.havingList, WhereItem{Field: key, Opt: Eq, Val: val})
|
||||||
}
|
}
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
package builder
|
package builder
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/tangpanqing/aorm/helper"
|
"github.com/tangpanqing/aorm/utils"
|
||||||
"reflect"
|
"reflect"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ func (b *Builder) Where(dest interface{}) *Builder {
|
|||||||
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
||||||
isNotNull := valueOf.Elem().Field(i).Field(0).Field(1).Bool()
|
isNotNull := valueOf.Elem().Field(i).Field(0).Field(1).Bool()
|
||||||
if isNotNull {
|
if isNotNull {
|
||||||
key := helper.UnderLine(typeOf.Elem().Field(i).Name)
|
key := utils.UnderLine(typeOf.Elem().Field(i).Name)
|
||||||
val := valueOf.Elem().Field(i).Field(0).Field(0).Interface()
|
val := valueOf.Elem().Field(i).Field(0).Field(0).Interface()
|
||||||
b.whereList = append(b.whereList, WhereItem{Field: key, Opt: Eq, Val: val})
|
b.whereList = append(b.whereList, WhereItem{Field: key, Opt: Eq, Val: val})
|
||||||
}
|
}
|
||||||
|
@@ -3,8 +3,8 @@ package migrate_mssql
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/tangpanqing/aorm/builder"
|
"github.com/tangpanqing/aorm/builder"
|
||||||
"github.com/tangpanqing/aorm/helper"
|
|
||||||
"github.com/tangpanqing/aorm/null"
|
"github.com/tangpanqing/aorm/null"
|
||||||
|
"github.com/tangpanqing/aorm/utils"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -78,7 +78,7 @@ func (mm *MigrateExecutor) getTableFromCode(tableName string) Table {
|
|||||||
func (mm *MigrateExecutor) getColumnsFromCode(typeOf reflect.Type) []Column {
|
func (mm *MigrateExecutor) getColumnsFromCode(typeOf reflect.Type) []Column {
|
||||||
var columnsFromCode []Column
|
var columnsFromCode []Column
|
||||||
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
||||||
fieldName := helper.UnderLine(typeOf.Elem().Field(i).Name)
|
fieldName := utils.UnderLine(typeOf.Elem().Field(i).Name)
|
||||||
fieldType := typeOf.Elem().Field(i).Type.Name()
|
fieldType := typeOf.Elem().Field(i).Type.Name()
|
||||||
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
||||||
columnsFromCode = append(columnsFromCode, Column{
|
columnsFromCode = append(columnsFromCode, Column{
|
||||||
@@ -98,7 +98,7 @@ func (mm *MigrateExecutor) getColumnsFromCode(typeOf reflect.Type) []Column {
|
|||||||
func (mm *MigrateExecutor) getIndexesFromCode(typeOf reflect.Type, tableFromCode Table) []Index {
|
func (mm *MigrateExecutor) getIndexesFromCode(typeOf reflect.Type, tableFromCode Table) []Index {
|
||||||
var indexesFromCode []Index
|
var indexesFromCode []Index
|
||||||
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
||||||
fieldName := helper.UnderLine(typeOf.Elem().Field(i).Name)
|
fieldName := utils.UnderLine(typeOf.Elem().Field(i).Name)
|
||||||
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
||||||
|
|
||||||
_, primaryIs := fieldMap["primary"]
|
_, primaryIs := fieldMap["primary"]
|
||||||
|
@@ -3,8 +3,8 @@ package migrate_mysql
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/tangpanqing/aorm/builder"
|
"github.com/tangpanqing/aorm/builder"
|
||||||
"github.com/tangpanqing/aorm/helper"
|
|
||||||
"github.com/tangpanqing/aorm/null"
|
"github.com/tangpanqing/aorm/null"
|
||||||
|
"github.com/tangpanqing/aorm/utils"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -96,7 +96,7 @@ func (mm *MigrateExecutor) getTableFromCode(tableName string, typeOf reflect.Typ
|
|||||||
func (mm *MigrateExecutor) getColumnsFromCode(typeOf reflect.Type) []Column {
|
func (mm *MigrateExecutor) getColumnsFromCode(typeOf reflect.Type) []Column {
|
||||||
var columnsFromCode []Column
|
var columnsFromCode []Column
|
||||||
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
||||||
fieldName := helper.UnderLine(typeOf.Elem().Field(i).Name)
|
fieldName := utils.UnderLine(typeOf.Elem().Field(i).Name)
|
||||||
fieldType := typeOf.Elem().Field(i).Type.Name()
|
fieldType := typeOf.Elem().Field(i).Type.Name()
|
||||||
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
||||||
|
|
||||||
@@ -122,7 +122,7 @@ func (mm *MigrateExecutor) getColumnsFromCode(typeOf reflect.Type) []Column {
|
|||||||
func (mm *MigrateExecutor) getIndexesFromCode(typeOf reflect.Type, tableFromCode Table) []Index {
|
func (mm *MigrateExecutor) getIndexesFromCode(typeOf reflect.Type, tableFromCode Table) []Index {
|
||||||
var indexesFromCode []Index
|
var indexesFromCode []Index
|
||||||
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
||||||
fieldName := helper.UnderLine(typeOf.Elem().Field(i).Name)
|
fieldName := utils.UnderLine(typeOf.Elem().Field(i).Name)
|
||||||
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
||||||
|
|
||||||
_, primaryIs := fieldMap["primary"]
|
_, primaryIs := fieldMap["primary"]
|
||||||
|
@@ -3,8 +3,8 @@ package migrate_postgres
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/tangpanqing/aorm/builder"
|
"github.com/tangpanqing/aorm/builder"
|
||||||
"github.com/tangpanqing/aorm/helper"
|
|
||||||
"github.com/tangpanqing/aorm/null"
|
"github.com/tangpanqing/aorm/null"
|
||||||
|
"github.com/tangpanqing/aorm/utils"
|
||||||
"reflect"
|
"reflect"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strconv"
|
"strconv"
|
||||||
@@ -102,7 +102,7 @@ func (mm *MigrateExecutor) getTableFromCode(tableName string, typeOf reflect.Typ
|
|||||||
func (mm *MigrateExecutor) getColumnsFromCode(typeOf reflect.Type) []Column {
|
func (mm *MigrateExecutor) getColumnsFromCode(typeOf reflect.Type) []Column {
|
||||||
var columnsFromCode []Column
|
var columnsFromCode []Column
|
||||||
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
||||||
fieldName := helper.UnderLine(typeOf.Elem().Field(i).Name)
|
fieldName := utils.UnderLine(typeOf.Elem().Field(i).Name)
|
||||||
fieldType := typeOf.Elem().Field(i).Type.Name()
|
fieldType := typeOf.Elem().Field(i).Type.Name()
|
||||||
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
||||||
columnsFromCode = append(columnsFromCode, Column{
|
columnsFromCode = append(columnsFromCode, Column{
|
||||||
@@ -122,7 +122,7 @@ func (mm *MigrateExecutor) getColumnsFromCode(typeOf reflect.Type) []Column {
|
|||||||
func (mm *MigrateExecutor) getIndexesFromCode(typeOf reflect.Type, tableFromCode Table) []Index {
|
func (mm *MigrateExecutor) getIndexesFromCode(typeOf reflect.Type, tableFromCode Table) []Index {
|
||||||
var indexesFromCode []Index
|
var indexesFromCode []Index
|
||||||
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
||||||
fieldName := helper.UnderLine(typeOf.Elem().Field(i).Name)
|
fieldName := utils.UnderLine(typeOf.Elem().Field(i).Name)
|
||||||
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
||||||
|
|
||||||
_, primaryIs := fieldMap["primary"]
|
_, primaryIs := fieldMap["primary"]
|
||||||
|
@@ -3,8 +3,8 @@ package migrate_sqlite3
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/tangpanqing/aorm/builder"
|
"github.com/tangpanqing/aorm/builder"
|
||||||
"github.com/tangpanqing/aorm/helper"
|
|
||||||
"github.com/tangpanqing/aorm/null"
|
"github.com/tangpanqing/aorm/null"
|
||||||
|
"github.com/tangpanqing/aorm/utils"
|
||||||
"reflect"
|
"reflect"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strconv"
|
"strconv"
|
||||||
@@ -86,7 +86,7 @@ func (mm *MigrateExecutor) getTableFromCode(tableName string) Table {
|
|||||||
func (mm *MigrateExecutor) getColumnsFromCode(typeOf reflect.Type) []Column {
|
func (mm *MigrateExecutor) getColumnsFromCode(typeOf reflect.Type) []Column {
|
||||||
var columnsFromCode []Column
|
var columnsFromCode []Column
|
||||||
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
||||||
fieldName := helper.UnderLine(typeOf.Elem().Field(i).Name)
|
fieldName := utils.UnderLine(typeOf.Elem().Field(i).Name)
|
||||||
fieldType := typeOf.Elem().Field(i).Type.Name()
|
fieldType := typeOf.Elem().Field(i).Type.Name()
|
||||||
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
||||||
columnsFromCode = append(columnsFromCode, Column{
|
columnsFromCode = append(columnsFromCode, Column{
|
||||||
@@ -105,7 +105,7 @@ func (mm *MigrateExecutor) getColumnsFromCode(typeOf reflect.Type) []Column {
|
|||||||
func (mm *MigrateExecutor) getIndexesFromCode(typeOf reflect.Type, tableFromCode Table) []Index {
|
func (mm *MigrateExecutor) getIndexesFromCode(typeOf reflect.Type, tableFromCode Table) []Index {
|
||||||
var indexesFromCode []Index
|
var indexesFromCode []Index
|
||||||
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
for i := 0; i < typeOf.Elem().NumField(); i++ {
|
||||||
fieldName := helper.UnderLine(typeOf.Elem().Field(i).Name)
|
fieldName := utils.UnderLine(typeOf.Elem().Field(i).Name)
|
||||||
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
fieldMap := getTagMap(typeOf.Elem().Field(i).Tag.Get("aorm"))
|
||||||
|
|
||||||
_, primaryIs := fieldMap["primary"]
|
_, primaryIs := fieldMap["primary"]
|
||||||
|
@@ -3,12 +3,12 @@ package migrator
|
|||||||
import (
|
import (
|
||||||
"github.com/tangpanqing/aorm/builder"
|
"github.com/tangpanqing/aorm/builder"
|
||||||
"github.com/tangpanqing/aorm/driver"
|
"github.com/tangpanqing/aorm/driver"
|
||||||
"github.com/tangpanqing/aorm/helper"
|
|
||||||
"github.com/tangpanqing/aorm/migrate_mssql"
|
"github.com/tangpanqing/aorm/migrate_mssql"
|
||||||
"github.com/tangpanqing/aorm/migrate_mysql"
|
"github.com/tangpanqing/aorm/migrate_mysql"
|
||||||
"github.com/tangpanqing/aorm/migrate_postgres"
|
"github.com/tangpanqing/aorm/migrate_postgres"
|
||||||
"github.com/tangpanqing/aorm/migrate_sqlite3"
|
"github.com/tangpanqing/aorm/migrate_sqlite3"
|
||||||
"github.com/tangpanqing/aorm/model"
|
"github.com/tangpanqing/aorm/model"
|
||||||
|
"github.com/tangpanqing/aorm/utils"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
@@ -97,6 +97,6 @@ func getTableNameByReflect(typeOf reflect.Type, valueOf reflect.Value) string {
|
|||||||
return res[0].String()
|
return res[0].String()
|
||||||
} else {
|
} else {
|
||||||
arr := strings.Split(typeOf.String(), ".")
|
arr := strings.Split(typeOf.String(), ".")
|
||||||
return helper.UnderLine(arr[len(arr)-1])
|
return utils.UnderLine(arr[len(arr)-1])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
package helper
|
package utils
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"unicode"
|
"unicode"
|
||||||
@@ -44,8 +44,3 @@ func UnderLine(s string) string {
|
|||||||
}
|
}
|
||||||
return string(output)
|
return string(output)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ul 将某字符串转成下划线写法-简化用法
|
|
||||||
func Ul(s string) string {
|
|
||||||
return UnderLine(s)
|
|
||||||
}
|
|
Reference in New Issue
Block a user