Update and Insert for columns with autogenerated values

This commit is contained in:
Sergey Kurt 2017-03-16 10:54:55 +03:00
parent e943c37a99
commit 8de60ee26a
4 changed files with 19 additions and 1 deletions

View file

@ -4,7 +4,9 @@
{{- $tableNameSingular := .Table.Name | singular | titleCase -}}
var (
{{$varNameSingular}}Columns = []string{{"{"}}{{.Table.Columns | columnNames | stringMap .StringFuncs.quoteWrap | join ", "}}{{"}"}}
{{if eq .DriverName "mssql" -}}
{{$varNameSingular}}ColumnsWithoutAuto = []string{{"{"}}{{.Table.Columns | filterColumnsByAuto false | columnNames | stringMap .StringFuncs.quoteWrap | join ","}}{{"}"}}
{{- end}}
{{$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 ", "}}{{"}"}}

View file

@ -50,7 +50,11 @@ func (o *{{$tableNameSingular}}) Insert(exec boil.Executor, whitelist ... string
if !cached {
wl, returnColumns := strmangle.InsertColumnSet(
{{if ne .DriverName "mssql" -}}
{{$varNameSingular}}Columns,
{{- else -}}
{{$varNameSingular}}ColumnsWithoutAuto,
{{- end}}
{{$varNameSingular}}ColumnsWithDefault,
{{$varNameSingular}}ColumnsWithoutDefault,
nzDefaults,

View file

@ -48,7 +48,15 @@ func (o *{{$tableNameSingular}}) Update(exec boil.Executor, whitelist ... string
{{$varNameSingular}}UpdateCacheMut.RUnlock()
if !cached {
wl := strmangle.UpdateColumnSet({{$varNameSingular}}ColumnsWithoutAuto, {{$varNameSingular}}PrimaryKeyColumns, whitelist)
wl := strmangle.UpdateColumnSet(
{{if ne .DriverName "mssql" -}}
{{$varNameSingular}}Columns,
{{- else -}}
{{$varNameSingular}}ColumnsWithoutAuto,
{{- end}}
{{$varNameSingular}}PrimaryKeyColumns,
whitelist,
)
{{- if not .NoAutoTimestamps}}
if len(whitelist) == 0 {
wl = strmangle.SetComplement(wl, []string{"created_at"})

View file

@ -79,7 +79,11 @@ func test{{$tableNamePlural}}SliceUpdateAll(t *testing.T) {
fields = {{$varNameSingular}}Columns
} else {
fields = strmangle.SetComplement(
{{if ne .DriverName "mssql" -}}
{{$varNameSingular}}Columns,
{{- else -}}
{{$varNameSingular}}ColumnsWithoutAuto,
{{- end}}
{{$varNameSingular}}PrimaryKeyColumns,
)
}