Revert "Copy to_one_setops into one_to_one_setops"

This reverts commit e157a59714.
This commit is contained in:
Aaron L 2016-09-24 00:23:17 -07:00
parent 0dc68e749e
commit e9eda8fa1b
2 changed files with 26 additions and 40 deletions

View file

@ -13,7 +13,7 @@ func (o *{{$txt.LocalTable.NameGo}}) Set{{$txt.Function.Name}}(exec boil.Executo
var err error var err error
if insert { if insert {
if err = related.Insert(exec); err != nil { if err = related.Insert(exec); err != nil {
return errors.Wrap(err, "failed to insert into foreign table {{$txt.ForeignTable}}") return errors.Wrap(err, "failed to insert into foreign table")
} }
} }
@ -30,7 +30,7 @@ func (o *{{$txt.LocalTable.NameGo}}) Set{{$txt.Function.Name}}(exec boil.Executo
} }
if _, err = exec.Exec(updateQuery, values...); err != nil { if _, err = exec.Exec(updateQuery, values...); err != nil {
return errors.Wrap(err, "failed to update local table {{.Table}}") return errors.Wrap(err, "failed to update local table")
} }
o.{{$txt.Function.LocalAssignment}} = related.{{$txt.Function.ForeignAssignment}} o.{{$txt.Function.LocalAssignment}} = related.{{$txt.Function.ForeignAssignment}}

View file

@ -3,67 +3,53 @@
{{- $dot := . -}} {{- $dot := . -}}
{{- range .Table.ToOneRelationships -}} {{- range .Table.ToOneRelationships -}}
{{- $txt := txtsFromOneToOne $dot.Tables $dot.Table . -}} {{- $txt := txtsFromOneToOne $dot.Tables $dot.Table . -}}
{{- $foreignNameSingular := .ForeignTable | singular | camelCase -}} {{- $varNameSingular := .ForeignTable | singular | camelCase -}}
{{- $varNameSingular := .Table | singular | camelCase}} {{- $localNameSingular := .Table | singular | camelCase}}
{{- $schemaTable := .Table | $dot.SchemaTable -}}
// Set{{$txt.Function.Name}} of the {{.Table | singular}} to the related item. // Set{{$txt.Function.Name}} of the {{.Table | singular}} to the related item.
// Sets o.R.{{$txt.Function.Name}} to related. // Sets o.R.{{$txt.Function.Name}} to related.
// Adds o to related.R.{{$txt.Function.ForeignName}}. // Adds o to related.R.{{$txt.Function.ForeignName}}.
func (o *{{$txt.LocalTable.NameGo}}) Set{{$txt.Function.Name}}(exec boil.Executor, insert bool, related *{{$txt.ForeignTable.NameGo}}) error { func (o *{{$txt.LocalTable.NameGo}}) Set{{$txt.Function.Name}}(exec boil.Executor, insert bool, related *{{$txt.ForeignTable.NameGo}}) error {
var err error var err error
oldVal := related.{{$txt.Function.ForeignAssignment}}
related.{{$txt.Function.ForeignAssignment}} = o.{{$txt.Function.LocalAssignment}}
{{if .ForeignColumnNullable -}}
related.{{$txt.ForeignTable.ColumnNameGo}}.Valid = true
{{- end}}
if insert { if insert {
if err = related.Insert(exec); err != nil { if err = related.Insert(exec); err != nil {
return errors.Wrap(err, "failed to insert into foreign table {{$txt.ForeignTable}}") related.{{$txt.Function.ForeignAssignment}} = oldVal
{{if .ForeignColumnNullable -}}
related.{{$txt.ForeignTable.ColumnNameGo}}.Valid = false
{{- end}}
return errors.Wrap(err, "failed to insert into foreign table")
}
} else {
if err = related.Update(exec, "{{.ForeignColumn}}"); err != nil {
related.{{$txt.Function.ForeignAssignment}} = oldVal
{{if .ForeignColumnNullable -}}
related.{{$txt.ForeignTable.ColumnNameGo}}.Valid = false
{{- end}}
return errors.Wrap(err, "failed to update foreign table")
} }
} }
updateQuery := fmt.Sprintf(
"UPDATE {{$schemaTable}} SET %s WHERE %s",
strmangle.SetParamNames("{{$dot.LQ}}", "{{$dot.RQ}}", {{if $dot.Dialect.IndexPlaceholders}}1{{else}}0{{end}}, []string{{"{"}}"{{.Column}}"{{"}"}}),
strmangle.WhereClause("{{$dot.LQ}}", "{{$dot.RQ}}", {{if $dot.Dialect.IndexPlaceholders}}2{{else}}0{{end}}, {{$varNameSingular}}PrimaryKeyColumns),
)
values := []interface{}{related.{{$txt.ForeignTable.ColumnNameGo}}, o.{{$dot.Table.PKey.Columns | stringMap $dot.StringFuncs.titleCase | join ", o."}}{{"}"}}
if boil.DebugMode {
fmt.Fprintln(boil.DebugWriter, updateQuery)
fmt.Fprintln(boil.DebugWriter, values)
}
if _, err = exec.Exec(updateQuery, values...); err != nil {
return errors.Wrap(err, "failed to update local table {{.Table}}")
}
o.{{$txt.Function.LocalAssignment}} = related.{{$txt.Function.ForeignAssignment}}
{{if .Nullable -}}
o.{{$txt.LocalTable.ColumnNameGo}}.Valid = true
{{- end}}
if o.R == nil { if o.R == nil {
o.R = &{{$varNameSingular}}R{ o.R = &{{$localNameSingular}}R{
{{$txt.Function.Name}}: related, {{$txt.Function.Name}}: related,
} }
} else { } else {
o.R.{{$txt.Function.Name}} = related o.R.{{$txt.Function.Name}} = related
} }
{{if .Unique -}}
if related.R == nil { if related.R == nil {
related.R = &{{$foreignNameSingular}}R{ related.R = &{{$varNameSingular}}R{
{{$txt.Function.ForeignName}}: o, {{$txt.Function.ForeignName}}: o,
} }
} else { } else {
related.R.{{$txt.Function.ForeignName}} = o related.R.{{$txt.Function.ForeignName}} = o
} }
{{else -}}
if related.R == nil {
related.R = &{{$foreignNameSingular}}R{
{{$txt.Function.ForeignName}}: {{$txt.LocalTable.NameGo}}Slice{{"{"}}o{{"}"}},
}
} else {
related.R.{{$txt.Function.ForeignName}} = append(related.R.{{$txt.Function.ForeignName}}, o)
}
{{- end}}
return nil return nil
} }