Update and Insert only for columns without autogenerated
This commit is contained in:
parent
0a50c90a58
commit
e943c37a99
5 changed files with 17 additions and 2 deletions
|
@ -57,6 +57,19 @@ func ColumnDBTypes(cols []Column) map[string]string {
|
|||
return types
|
||||
}
|
||||
|
||||
// FilterColumnsByAuto generates the list of columns that have autogenerated values
|
||||
func FilterColumnsByAuto(auto bool, columns []Column) []Column {
|
||||
var cols []Column
|
||||
|
||||
for _, c := range columns {
|
||||
if (auto && c.AutoGenerated) || (!auto && !c.AutoGenerated) {
|
||||
cols = append(cols, c)
|
||||
}
|
||||
}
|
||||
|
||||
return cols
|
||||
}
|
||||
|
||||
// FilterColumnsByDefault generates the list of columns that have default values
|
||||
func FilterColumnsByDefault(defaults bool, columns []Column) []Column {
|
||||
var cols []Column
|
||||
|
|
|
@ -225,6 +225,7 @@ var templateFunctions = template.FuncMap{
|
|||
"txtsFromToMany": txtsFromToMany,
|
||||
|
||||
// dbdrivers ops
|
||||
"filterColumnsByAuto": bdb.FilterColumnsByAuto,
|
||||
"filterColumnsByDefault": bdb.FilterColumnsByDefault,
|
||||
"filterColumnsByEnum": bdb.FilterColumnsByEnum,
|
||||
"sqlColDefinitions": bdb.SQLColDefinitions,
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
{{- $tableNameSingular := .Table.Name | singular | titleCase -}}
|
||||
var (
|
||||
{{$varNameSingular}}Columns = []string{{"{"}}{{.Table.Columns | columnNames | stringMap .StringFuncs.quoteWrap | join ", "}}{{"}"}}
|
||||
{{$varNameSingular}}ColumnsWithoutAuto = []string{{"{"}}{{.Table.Columns | filterColumnsByAuto false | columnNames | stringMap .StringFuncs.quoteWrap | join ","}}{{"}"}}
|
||||
{{$varNameSingular}}ColumnsWithoutDefault = []string{{"{"}}{{.Table.Columns | filterColumnsByDefault false | columnNames | stringMap .StringFuncs.quoteWrap | join ","}}{{"}"}}
|
||||
{{$varNameSingular}}ColumnsWithDefault = []string{{"{"}}{{.Table.Columns | filterColumnsByDefault true | columnNames | stringMap .StringFuncs.quoteWrap | join ","}}{{"}"}}
|
||||
{{$varNameSingular}}PrimaryKeyColumns = []string{{"{"}}{{.Table.PKey.Columns | stringMap .StringFuncs.quoteWrap | join ", "}}{{"}"}}
|
||||
|
|
|
@ -50,7 +50,7 @@ func (o *{{$tableNameSingular}}) Insert(exec boil.Executor, whitelist ... string
|
|||
|
||||
if !cached {
|
||||
wl, returnColumns := strmangle.InsertColumnSet(
|
||||
{{$varNameSingular}}Columns,
|
||||
{{$varNameSingular}}ColumnsWithoutAuto,
|
||||
{{$varNameSingular}}ColumnsWithDefault,
|
||||
{{$varNameSingular}}ColumnsWithoutDefault,
|
||||
nzDefaults,
|
||||
|
|
|
@ -48,7 +48,7 @@ func (o *{{$tableNameSingular}}) Update(exec boil.Executor, whitelist ... string
|
|||
{{$varNameSingular}}UpdateCacheMut.RUnlock()
|
||||
|
||||
if !cached {
|
||||
wl := strmangle.UpdateColumnSet({{$varNameSingular}}Columns, {{$varNameSingular}}PrimaryKeyColumns, whitelist)
|
||||
wl := strmangle.UpdateColumnSet({{$varNameSingular}}ColumnsWithoutAuto, {{$varNameSingular}}PrimaryKeyColumns, whitelist)
|
||||
{{- if not .NoAutoTimestamps}}
|
||||
if len(whitelist) == 0 {
|
||||
wl = strmangle.SetComplement(wl, []string{"created_at"})
|
||||
|
|
Loading…
Add table
Reference in a new issue