mirror of
https://github.com/ent/ent.git
synced 2026-05-24 09:31:56 +03:00
schema/field: use actual go type in generated interfaces (#1428)
This commit is contained in:
@@ -62,7 +62,7 @@ func ({{ $receiver }} *{{ $builder }}) createSpec() (*{{ $.Name }}, *sqlgraph.Cr
|
||||
Value: value,
|
||||
Column: {{ $.Package }}.{{ $f.Constant }},
|
||||
})
|
||||
_node.{{ $f.StructField }} = {{ if $f.Nillable }}&{{ end }}value
|
||||
_node.{{ $f.StructField }} = {{ if $f.NillableValue }}&{{ end }}value
|
||||
}
|
||||
{{- end }}
|
||||
{{- range $e := $.Edges }}
|
||||
@@ -72,7 +72,7 @@ func ({{ $receiver }} *{{ $builder }}) createSpec() (*{{ $.Name }}, *sqlgraph.Cr
|
||||
{{- end }}
|
||||
{{- if $e.OwnFK }}
|
||||
{{- $fk := $e.ForeignKey }}
|
||||
_node.{{ $fk.StructField }} = {{ if $fk.Field.Nillable }}&{{ end }}nodes[0]
|
||||
_node.{{ $fk.StructField }} = {{ if $fk.Field.NillableValue }}&{{ end }}nodes[0]
|
||||
{{- end }}
|
||||
_spec.Edges = append(_spec.Edges, edge)
|
||||
}
|
||||
|
||||
@@ -25,12 +25,12 @@ func (*{{ $.Name }}) scanValues(columns []string) ([]interface{}, error) {
|
||||
switch columns[i] {
|
||||
{{- range $type, $columns := $ctypes }}
|
||||
case {{ range $i, $c := $columns }}{{ if ne $i 0 }},{{ end }}{{ $.Package }}.{{ $c }}{{ end }}:
|
||||
values[i] = &{{ $type }}{}
|
||||
values[i] = new({{ $type }})
|
||||
{{- end }}
|
||||
{{- range $i, $fk := $.UnexportedForeignKeys }}
|
||||
{{- $f := $fk.Field }}
|
||||
case {{ $.Package }}.ForeignKeys[{{ $i }}]: // {{ $f.Name }}
|
||||
values[i] = &{{ if not $f.UserDefined }}sql.NullInt64{{ else }}{{ $f.NullType }}{{ end }}{}
|
||||
values[i] = new({{ if not $f.UserDefined }}sql.NullInt64{{ else }}{{ $f.NullType }}{{ end }})
|
||||
{{- end }}
|
||||
default:
|
||||
return nil, fmt.Errorf("unexpected column %q for type {{ $.Name }}", columns[i])
|
||||
@@ -78,7 +78,7 @@ func ({{ $receiver }} *{{ $.Name }}) assignValues(columns []string, values []int
|
||||
return fmt.Errorf("unexpected type %T for edge-field {{ $f.Name}}", value)
|
||||
} else if value.Valid {
|
||||
{{ $receiver }}.{{ $fk.StructField }} = new({{ $f.Type }})
|
||||
{{ if $f.Nillable }}*{{ end }}{{ $receiver }}.{{ $fk.StructField }} = {{ $f.Type }}(value.Int64)
|
||||
{{ if and $f.Nillable (not $f.Type.Nillable) }}*{{ end }}{{ $receiver }}.{{ $fk.StructField }} = {{ $f.Type }}(value.Int64)
|
||||
}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -107,7 +107,7 @@ func ({{ $receiver }} *{{ $.Name }}) assignValues(columns []string, values []int
|
||||
return fmt.Errorf("unexpected type %T for field {{ $f.Name }}", values[{{ $i }}])
|
||||
{{- if and (not $f.Type.ValueScanner) (hasPrefix $nulltype "sql") }}
|
||||
} else if value.Valid {
|
||||
{{- if $f.Nillable }}
|
||||
{{- if $f.NillableValue }}
|
||||
{{ $ret }}.{{ $field }} = new({{ $f.Type }})
|
||||
*{{ $ret }}.{{ $field }} = {{ $f.NullTypeField "value" }}
|
||||
{{- else }}
|
||||
@@ -115,7 +115,7 @@ func ({{ $receiver }} *{{ $.Name }}) assignValues(columns []string, values []int
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
} else if value != nil {
|
||||
{{ $ret }}.{{ $field }} = {{ if not $f.Nillable }}*{{ end }}value
|
||||
{{ $ret }}.{{ $field }} = {{ if and (not $f.Nillable) (not $f.Type.RType.IsPtr) }}*{{ end }}value
|
||||
{{- end }}
|
||||
}
|
||||
{{- end }}
|
||||
|
||||
Reference in New Issue
Block a user