Added SortByKeys to insert
This commit is contained in:
parent
d0b494600e
commit
a20574110c
5 changed files with 14 additions and 1 deletions
|
@ -74,6 +74,7 @@ func NonZeroDefaultSet(defaults []string, obj interface{}) []string {
|
|||
return c
|
||||
}
|
||||
|
||||
// SortByKeys returns a new ordered slice based on the keys ordering
|
||||
func SortByKeys(keys []string, strs []string) []string {
|
||||
c := make([]string, len(strs))
|
||||
|
||||
|
|
|
@ -142,6 +142,7 @@ var sqlBoilerTemplateFuncs = template.FuncMap{
|
|||
"camelCaseSingular": strmangle.CamelCaseSingular,
|
||||
"camelCasePlural": strmangle.CamelCasePlural,
|
||||
"camelCaseCommaList": strmangle.CamelCaseCommaList,
|
||||
"columnsToStrings": strmangle.ColumnsToStrings,
|
||||
"commaList": strmangle.CommaList,
|
||||
"makeDBName": strmangle.MakeDBName,
|
||||
"selectParamNames": strmangle.SelectParamNames,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{{- $varNameSingular := camelCaseSingular .Table.Name -}}
|
||||
var {{$varNameSingular}}Columns = []string{{"{"}}{{commaList .Table.Columns}}{{"}"}}
|
||||
var {{$varNameSingular}}Columns = []string{{"{"}}{{columnsToStrings .Table.Columns | commaList}}{{"}"}}
|
||||
var {{$varNameSingular}}ColumnsWithoutDefault = []string{{"{"}}{{filterColumnsByDefault .Table.Columns false}}{{"}"}}
|
||||
var {{$varNameSingular}}ColumnsWithDefault = []string{{"{"}}{{filterColumnsByDefault .Table.Columns true}}{{"}"}}
|
||||
var {{$varNameSingular}}PrimaryKeyColumns = []string{{"{"}}{{commaList .Table.PKey.Columns}}{{"}"}}
|
||||
|
|
|
@ -19,6 +19,7 @@ func (o *{{$tableNameSingular}}) InsertX(exec boil.Executor, whitelist ... strin
|
|||
}
|
||||
|
||||
wl = append(boil.NonZeroDefaultSet({{$varNameSingular}}ColumnsWithDefault, o), wl...)
|
||||
wl = boil.SortByKeys({{$varNameSingular}}Columns, wl)
|
||||
|
||||
// Only return the columns with default values that are not in the insert whitelist
|
||||
returnColumns := boil.SetComplement({{$varNameSingular}}ColumnsWithDefault, wl)
|
||||
|
|
|
@ -310,6 +310,16 @@ func AutoIncPrimaryKey(cols []dbdrivers.Column, pkey *dbdrivers.PrimaryKey) stri
|
|||
return ""
|
||||
}
|
||||
|
||||
// ColumnsToString changes the columns into a list of column names
|
||||
func ColumnsToStrings(cols []dbdrivers.Column) []string {
|
||||
names := make([]string, len(cols))
|
||||
for i, c := range cols {
|
||||
names[i] = c.Name
|
||||
}
|
||||
|
||||
return names
|
||||
}
|
||||
|
||||
// CommaList returns a comma seperated list: "col1", "col2", "col3"
|
||||
func CommaList(cols []string) string {
|
||||
return fmt.Sprintf(`"%s"`, strings.Join(cols, `", "`))
|
||||
|
|
Loading…
Add table
Reference in a new issue