diff --git a/entc/gen/internal/bindata.go b/entc/gen/internal/bindata.go index d208384e9..f4e9a1613 100644 --- a/entc/gen/internal/bindata.go +++ b/entc/gen/internal/bindata.go @@ -606,7 +606,7 @@ func templateDialectSqlByTmpl() (*asset, error) { return a, nil } -var _templateDialectSqlCreateTmpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x55\xc1\x6e\xe3\x36\x10\x3d\x4b\x5f\x31\x15\x8c\x42\x32\x14\x3a\x0d\x8a\x02\xcd\xc2\x05\xb6\x71\xb6\x30\xb0\x0d\xda\x3a\xe9\xa1\x97\x05\x4d\x8e\x6c\x22\x34\xa9\x90\x54\x9a\x40\xd0\xbf\x17\x43\x49\x59\xc5\x49\x36\xbd\x24\xf2\xf0\xcd\xcc\xe3\x9b\xd1\x53\xdb\x2e\xe6\xe9\x85\xad\x1f\x9d\xda\xed\x03\x9c\x9d\xfe\xf0\xf3\x49\xed\xd0\xa3\x09\xf0\x89\x0b\xdc\x5a\x7b\x0b\x6b\x23\x18\x7c\xd4\x1a\x22\xc8\x03\x9d\xbb\x7b\x94\x2c\xbd\xde\x2b\x0f\xde\x36\x4e\x20\x08\x2b\x11\x94\x07\xad\x04\x1a\x8f\x12\x1a\x23\xd1\x41\xd8\x23\x7c\xac\xb9\xd8\x23\x9c\xb1\xd3\xf1\x14\x2a\xdb\x18\x99\x2a\x13\xcf\x3f\xaf\x2f\x2e\xaf\x36\x97\x50\x29\x8d\x30\xc4\x9c\xb5\x01\xa4\x72\x28\x82\x75\x8f\x60\x2b\x08\x93\x66\xc1\x21\xb2\x74\xbe\xe8\xba\x34\x6d\x5b\x90\x58\x29\x83\x90\x49\xc5\x35\x8a\xb0\xf0\x77\x7a\x21\x1c\xf2\x80\x19\x74\x1d\x21\x66\xdb\x46\x69\xe2\x73\xbe\x84\x9a\x7b\xc1\x35\xcc\xd8\x46\xd8\x1a\xd9\xaf\xc3\xc9\x00\x74\x28\x50\xdd\xf7\xc8\xa7\xe7\xa7\xf4\x01\x74\x68\x02\x0f\xca\x9a\x58\xce\x29\x13\x26\x79\x19\x1b\x4f\x33\x20\x7c\x5a\x35\x46\x40\xfe\xac\x76\xd7\xc1\x7c\xca\xaa\xeb\x0a\xf0\x77\x7a\xc3\xef\x31\x17\xe1\x01\x84\x35\x01\x1f\x02\xbb\xe8\xff\x17\x90\x47\x38\xbb\xe2\x07\x84\xae\x2b\x01\x9d\xb3\xae\x80\x36\x4d\xee\xb9\x83\x3c\x4d\x92\x78\xfe\xd7\xa4\xc1\x12\xbe\x9f\xe6\xb4\xc2\x9a\x4a\xed\xce\xe1\x88\x08\xeb\xe3\x5d\x9a\x24\x5f\x7c\x8d\x82\xf2\xfc\x9d\xde\x39\x5e\xef\xd9\x45\x14\x71\x53\xa3\x68\xd3\x24\x49\xae\xf9\x56\x63\x5f\x81\xfd\xc1\xc5\x2d\xdf\x51\x65\x16\xc3\x25\x01\xd6\xab\xf3\x49\xf6\x27\x85\x5a\x3e\x25\x27\xd7\x8f\x35\x9e\x43\x45\x41\x16\x4b\xac\x57\x8c\x62\x74\x4b\x1f\xc6\xab\x45\xe8\x85\xd5\xcd\xc1\xbc\xec\x34\xa6\xc5\x0c\x6e\xc2\x98\x10\xff\x76\x69\x52\xa4\x49\xdb\x9e\x80\xaa\x7a\xd8\x8d\x47\xb7\x8a\xbb\x21\x69\x12\x49\xa2\x2a\x50\xb2\x04\x7b\x4b\x83\x7b\x36\xc8\x49\xf1\xdf\x87\xd8\x6f\x48\xf5\xf3\xe2\x03\xe1\xe3\x15\x8e\x35\x66\xeb\x15\x2c\x41\x49\x3a\x8b\xe2\x51\xfa\xdf\x5c\x37\x38\x86\xbb\x9e\x10\x9a\x9e\x00\x3d\x3b\x6e\x76\x08\xb3\x2f\x25\xcc\x2a\xa2\x31\xeb\x75\xf2\x4f\x0c\xef\xa9\xc0\xb7\x48\x56\xdf\xa0\xd8\xd3\x18\x2a\x2e\x81\xd7\x35\x1a\x99\x4f\xa3\xe5\xff\x9f\x50\xf5\xd6\x7c\xe2\x1d\xcf\x07\xa6\xef\x4e\xac\x7a\x39\xaf\xe2\x55\x39\x7b\xf0\x26\xb8\x46\x84\x48\xad\xdf\xe3\xb6\x8d\x13\xad\xd8\x95\xd2\x9a\x76\x0d\xba\x8e\x76\xbb\x57\x35\x92\x78\x57\x6a\xec\xa5\xbe\x94\x3b\xfc\xaa\xb4\xb1\x12\xfd\x5b\x2a\xe3\x11\x91\xf5\xca\x93\xd0\x1a\x4d\x1e\xf3\x0a\xf8\x05\x4e\xc7\xbd\x38\x81\x7f\x55\xd8\x03\x3e\x04\xea\x3f\x83\x8c\x1a\x65\xd4\x36\xbb\x22\x70\x06\xc1\x35\x08\xd9\x3f\xe8\x6c\x06\x99\x51\x3a\xeb\x59\x44\x15\x02\x1e\x6a\xcd\xc3\x91\x83\x49\xac\x30\x56\x61\xf4\xfa\xb6\x8b\xf9\xe0\x73\x92\x3c\x92\x00\x4d\x2d\x79\x40\x16\x0e\xb5\x86\xe8\x85\x03\x95\x51\x82\x71\x1b\xfa\x4b\x1f\x2d\x43\x0c\x96\x40\x1d\x8a\x97\xea\xa9\x8a\x2c\x86\xa4\x39\xf2\x02\xba\x0d\x59\x54\xf9\xc2\x47\xa4\xa3\xa7\x12\x62\xf9\xe2\x43\xcc\xff\x6e\x09\x46\xe9\x28\x92\xaa\x40\xa0\x73\xe3\x5e\x2b\xbf\xf9\xf3\x73\x5c\x0b\xc7\x95\x09\x97\xe4\x67\x39\x3a\x37\x59\x65\x2a\xb0\x8c\x49\x3d\xbf\xc4\x61\x68\x9c\xa1\x8a\xd1\x00\xd3\x91\xb4\xaa\x80\x93\xea\xc7\xaf\x7c\x6e\x5d\x1f\x5c\xfb\x4d\x70\xca\xec\xc6\x5f\x37\x37\xeb\x55\xd1\x4b\x44\xf9\x8b\x39\xac\x2c\x18\x1b\xf6\xca\xec\x4a\xd8\xa2\xe0\x8d\x47\xfa\x0c\x79\x84\x33\x08\x8f\x35\x7a\x38\x34\x3e\xc0\x16\xc1\x37\x75\xad\x15\x4a\xd8\x3e\xc6\x0f\x55\xe3\xd1\x31\x98\x2f\xe0\x64\xdc\x3a\xd4\x1e\xbf\x16\x7f\xd3\x8b\x48\x91\x57\x0d\x65\x39\xac\xd5\xf3\x51\x2a\x49\xb2\x3d\x77\x19\x96\x2b\x13\x7e\xfa\xf1\xf5\x97\x29\x7a\xd3\xd4\x67\xc9\x29\x94\x2c\xde\xe5\xd5\x1d\xf5\x9e\x3e\x0f\x23\x38\x6e\x56\xd2\x50\xd2\xfe\x63\x3c\x40\xff\x0b\x00\x00\xff\xff\x41\x70\x40\x3d\x5b\x08\x00\x00") +var _templateDialectSqlCreateTmpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x56\xc1\x6e\xe3\x36\x10\x3d\x4b\x5f\x31\x15\x8c\x85\x64\x38\x74\x1a\x14\x05\x9a\x85\x0b\x6c\xed\x6c\x61\x60\x1b\xb4\x75\xd2\x43\x2f\x05\x4d\x8e\x6c\x22\x34\xa9\x90\x54\x9a\x40\xd0\xbf\x2f\x86\x92\x1d\xc5\x4e\xb2\x7b\x49\x94\xe1\x9b\x37\x8f\x33\x8f\x64\x9a\x66\x3a\x4e\xe7\xb6\x7a\x72\x6a\xb3\x0d\x70\x71\xfe\xe3\x2f\x67\x95\x43\x8f\x26\xc0\x67\x2e\x70\x6d\xed\x1d\x2c\x8d\x60\xf0\x49\x6b\x88\x20\x0f\xb4\xee\x1e\x50\xb2\xf4\x66\xab\x3c\x78\x5b\x3b\x81\x20\xac\x44\x50\x1e\xb4\x12\x68\x3c\x4a\xa8\x8d\x44\x07\x61\x8b\xf0\xa9\xe2\x62\x8b\x70\xc1\xce\xf7\xab\x50\xda\xda\xc8\x54\x99\xb8\xfe\x65\x39\xbf\xba\x5e\x5d\x41\xa9\x34\x42\x1f\x73\xd6\x06\x90\xca\xa1\x08\xd6\x3d\x81\x2d\x21\x0c\x8a\x05\x87\xc8\xd2\xf1\xb4\x6d\xd3\xb4\x69\x40\x62\xa9\x0c\x42\x26\x15\xd7\x28\xc2\xd4\xdf\xeb\xa9\x70\xc8\x03\x66\xd0\xb6\x84\x18\xad\x6b\xa5\x49\xcf\xe5\x0c\x2a\xee\x05\xd7\x30\x62\x2b\x61\x2b\x64\xbf\xf5\x2b\x3d\xd0\xa1\x40\xf5\xd0\x21\x0f\xdf\x87\xf4\x1e\xb4\xab\x03\x0f\xca\x9a\x48\xe7\x94\x09\x83\xbc\x8c\xed\x57\x33\x20\x7c\x5a\xd6\x46\x40\xfe\x82\xbb\x6d\x61\x3c\x54\xd5\xb6\x05\xf8\x7b\xbd\xe2\x0f\x98\x8b\xf0\x08\xc2\x9a\x80\x8f\x81\xcd\xbb\xdf\x05\xe4\x11\xce\xae\xf9\x0e\xa1\x6d\x27\x80\xce\x59\x57\x40\x93\x26\x31\xfe\xf7\x33\xf1\x04\xfe\xf3\x15\x0a\x52\x76\x54\x92\x75\x2d\x59\x55\x28\xf2\x22\x4d\x54\x49\x2c\x84\xf3\xf7\x7a\xe3\x78\xb5\x65\xf3\x08\xb8\xb6\x32\xaa\x98\x9c\x10\x48\x47\x5f\x7d\x85\xe2\x63\xcc\xff\x61\x06\x46\x69\x52\x42\x8c\x02\x9d\x9b\x80\xbd\x23\x5a\xe5\x57\x7f\x7d\x99\x5b\xe3\x83\xe3\xca\x84\x2b\x92\x9c\xa3\x73\xc5\x47\x02\x50\x42\x42\x04\xb3\x98\x94\x26\x49\x9b\x26\x89\xc3\x50\x3b\x43\x8c\x71\x8f\x29\x05\x9b\xe6\x0c\x54\x09\xdc\x48\x18\xb1\xe5\x82\xdd\x7a\x74\x8b\x38\x71\x09\xb9\x75\x5d\x70\xe9\x57\xc1\x29\xb3\xd9\xff\x75\x7b\xbb\x5c\x14\xd4\xfe\x24\xe6\x4f\xc7\xb0\xb0\x60\x6c\xd8\x2a\xb3\x99\xc0\x1a\x05\xaf\x3d\x92\xd3\x3c\xc2\x05\x84\xa7\x0a\x3d\xec\x6a\x1f\x60\x8d\xe0\xeb\xaa\xd2\x0a\x25\xac\x9f\xa2\x17\x6b\x8f\x8e\xc1\x78\x0a\x67\x6d\x2f\x07\xb5\xc7\x67\x72\x55\x9e\x0a\x8b\x8b\xd4\x91\xe3\xf9\xb0\xe5\x02\x66\x33\x38\x8f\x0d\x88\x5c\xe6\x80\x96\xd4\xb6\xd8\x5c\xa2\xfb\x87\xeb\x1a\x59\xae\x4c\xf8\xf9\xa7\x82\xd6\x5f\xa5\xea\x0a\x2c\x17\xec\xe6\xa9\x22\x4d\xb9\x92\xc5\x37\x75\xb5\x47\xb5\x87\xdf\xfd\x08\x4e\x7d\x65\x94\x4e\xbf\xdf\xce\x43\xb3\x9d\xd8\x77\x7c\x64\x39\x82\x45\x37\x3f\x70\x07\x79\x7a\xba\x55\x98\xc1\x87\x21\x45\x23\xac\x29\xd5\xe6\xf2\xd4\xe3\x31\x4e\xfb\xeb\x8e\xc1\x0c\x3e\xbc\x52\x2b\x9a\xef\x86\xaf\x35\x76\x0c\xec\x4f\x2e\xee\xf8\x86\x98\x59\x0c\x4f\x08\xb0\x5c\x5c\x0e\xb2\x3f\x2b\xd4\xf2\x90\x9c\x50\xbb\x2f\xa1\xa4\x20\x1b\x8e\x80\x45\xc7\xef\x77\x1a\xa1\x73\xab\xeb\x9d\x39\xad\xb4\x4f\x8b\x19\xdc\x84\x7d\x42\xfc\xd9\xa6\x49\x91\xbe\x3f\x46\x55\x82\x92\xfb\xd3\xf6\xe2\x5a\x1a\x90\xff\xd1\xc7\x7e\x47\xe2\xcf\x07\x87\xef\x75\x3b\x29\x49\x6b\x2f\x4d\xb8\x0f\x1f\x39\x85\xbe\x1d\x37\x1b\x84\x51\x49\x12\x46\x5d\x8f\xfc\x41\xdd\x03\x25\xbf\x27\xb0\x7c\x47\x5e\x27\xa1\x67\x9c\x01\xaf\x2a\x34\x32\x1f\x46\x27\xdf\x3f\x9d\xf2\xad\xd9\xc4\xfd\x5d\xf6\x4a\xbf\x39\xad\xf2\x74\x56\xaf\x9f\xcc\x0e\xbc\x0a\xae\x16\x21\x4a\xeb\x3c\xdc\x34\x71\x9a\x25\xbb\x56\x5a\x93\xcf\xa0\x6d\xc9\xd7\x5d\x47\xa3\x88\x77\xdb\x8c\x5d\x9b\xaf\xe4\x06\x9f\xbb\x6c\xac\x44\xff\x56\x87\xf1\x48\xc4\x72\xe1\xa9\xc9\x1a\x4d\x1e\xf3\x0a\xf8\xb5\xbf\x8b\x62\x9d\xff\x55\xd8\x02\x3e\x06\xaa\x3d\x82\x8c\x0a\x65\x54\x36\xa3\x47\xc1\x67\x10\x5c\x8d\x90\xfd\x8b\xce\x66\x90\x19\xa5\xb3\xfe\x42\xa1\x0e\x04\xdc\x55\x9a\x87\xa3\x77\x58\x62\x89\x91\x85\xd1\xb1\x6d\xa6\xe3\xfe\xb5\x96\xf4\xd2\x13\xa0\xae\x24\x0f\xc8\xc2\xae\xd2\x10\x5f\xf4\xe4\xf8\x5e\xec\x66\xde\x6d\xfa\xc8\x08\x31\x38\x01\xaa\x50\x9c\x76\xee\xcd\xab\x2c\x26\xa7\xdd\x3f\x0f\x3d\xf8\x6b\x00\x00\x00\xff\xff\xf6\xb9\x78\x1f\x0b\x09\x00\x00") func templateDialectSqlCreateTmplBytes() ([]byte, error) { return bindataRead( @@ -621,7 +621,7 @@ func templateDialectSqlCreateTmpl() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "template/dialect/sql/create.tmpl", size: 2139, mode: os.FileMode(420), modTime: time.Unix(1, 0)} + info := bindataFileInfo{name: "template/dialect/sql/create.tmpl", size: 2315, mode: os.FileMode(420), modTime: time.Unix(1, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/entc/gen/template/dialect/sql/create.tmpl b/entc/gen/template/dialect/sql/create.tmpl index e921163da..b0ac38c39 100644 --- a/entc/gen/template/dialect/sql/create.tmpl +++ b/entc/gen/template/dialect/sql/create.tmpl @@ -10,40 +10,7 @@ in the LICENSE file in the root directory of this source tree. {{ $mutation := print $receiver ".mutation" }} func ({{ $receiver }} *{{ $builder }}) sqlSave(ctx context.Context) (*{{ $.Name }}, error) { - var ( - {{ $.Receiver }} = &{{ $.Name }}{config: {{ $receiver }}.config} - _spec = &sqlgraph.CreateSpec{ - Table: {{ $.Package }}.Table, - ID: &sqlgraph.FieldSpec{ - Type: field.{{ $.ID.Type.ConstName }}, - Column: {{ $.Package }}.{{ $.ID.Constant }}, - }, - } - ) - {{- if $.ID.UserDefined }} - if id, ok := {{ $mutation }}.{{ $.ID.MutationGet }}(); ok { - {{ $.Receiver }}.ID = id - _spec.ID.Value = id - } - {{- end }} - {{- range $_, $f := $.Fields }} - if value, ok := {{ $mutation }}.{{ $f.MutationGet }}(); ok { - _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ - Type: field.{{ $f.Type.ConstName }}, - Value: value, - Column: {{ $.Package }}.{{ $f.Constant }}, - }) - {{ $.Receiver }}.{{ $f.StructField }} = {{ if $f.Nillable }}&{{ end }}value - } - {{- end }} - {{- range $_, $e := $.Edges }} - if nodes := {{ $mutation }}.{{ $e.StructField }}IDs(); len(nodes) > 0 { - {{- with extend $ "Edge" $e "Nodes" true "Zero" "nil" }} - {{ template "dialect/sql/defedge" . }}{{/* defined in sql/update.tmpl */}} - {{- end }} - _spec.Edges = append(_spec.Edges, edge) - } - {{- end }} + {{ $.Receiver }}, _spec := {{ $receiver }}.createSpec() if err := sqlgraph.CreateNode(ctx, {{ $receiver }}.driver, _spec); err != nil { if cerr, ok := isSQLConstraintError(err); ok { err = cerr @@ -65,4 +32,42 @@ func ({{ $receiver }} *{{ $builder }}) sqlSave(ctx context.Context) (*{{ $.Name return {{ $.Receiver }}, nil } +func ({{ $receiver }} *{{ $builder }}) createSpec() (*{{ $.Name }}, *sqlgraph.CreateSpec) { + var ( + {{ $.Receiver }} = &{{ $.Name }}{config: {{ $receiver }}.config} + _spec = &sqlgraph.CreateSpec{ + Table: {{ $.Package }}.Table, + ID: &sqlgraph.FieldSpec{ + Type: field.{{ $.ID.Type.ConstName }}, + Column: {{ $.Package }}.{{ $.ID.Constant }}, + }, + } + ) + {{- if $.ID.UserDefined }} + if id, ok := {{ $mutation }}.{{ $.ID.MutationGet }}(); ok { + {{ $.Receiver }}.ID = id + _spec.ID.Value = id + } + {{- end }} + {{- range $f := $.Fields }} + if value, ok := {{ $mutation }}.{{ $f.MutationGet }}(); ok { + _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ + Type: field.{{ $f.Type.ConstName }}, + Value: value, + Column: {{ $.Package }}.{{ $f.Constant }}, + }) + {{ $.Receiver }}.{{ $f.StructField }} = {{ if $f.Nillable }}&{{ end }}value + } + {{- end }} + {{- range $e := $.Edges }} + if nodes := {{ $mutation }}.{{ $e.StructField }}IDs(); len(nodes) > 0 { + {{- with extend $ "Edge" $e "Nodes" true "Zero" "nil" }} + {{ template "dialect/sql/defedge" . }}{{/* defined in sql/update.tmpl */}} + {{- end }} + _spec.Edges = append(_spec.Edges, edge) + } + {{- end }} + return {{ $.Receiver }}, _spec +} + {{ end }} diff --git a/entc/integration/config/ent/user_create.go b/entc/integration/config/ent/user_create.go index dfd8bf195..2249978d8 100644 --- a/entc/integration/config/ent/user_create.go +++ b/entc/integration/config/ent/user_create.go @@ -66,16 +66,7 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { - var ( - u = &User{config: uc.config} - _spec = &sqlgraph.CreateSpec{ - Table: user.Table, - ID: &sqlgraph.FieldSpec{ - Type: field.TypeInt, - Column: user.FieldID, - }, - } - ) + u, _spec := uc.createSpec() if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { if cerr, ok := isSQLConstraintError(err); ok { err = cerr @@ -86,3 +77,17 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { u.ID = int(id) return u, nil } + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { + var ( + u = &User{config: uc.config} + _spec = &sqlgraph.CreateSpec{ + Table: user.Table, + ID: &sqlgraph.FieldSpec{ + Type: field.TypeInt, + Column: user.FieldID, + }, + } + ) + return u, _spec +} diff --git a/entc/integration/customid/ent/blob_create.go b/entc/integration/customid/ent/blob_create.go index 011cbeb9a..7471d22e7 100644 --- a/entc/integration/customid/ent/blob_create.go +++ b/entc/integration/customid/ent/blob_create.go @@ -121,6 +121,17 @@ func (bc *BlobCreate) SaveX(ctx context.Context) *Blob { } func (bc *BlobCreate) sqlSave(ctx context.Context) (*Blob, error) { + b, _spec := bc.createSpec() + if err := sqlgraph.CreateNode(ctx, bc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + return b, nil +} + +func (bc *BlobCreate) createSpec() (*Blob, *sqlgraph.CreateSpec) { var ( b = &Blob{config: bc.config} _spec = &sqlgraph.CreateSpec{ @@ -181,11 +192,5 @@ func (bc *BlobCreate) sqlSave(ctx context.Context) (*Blob, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, bc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - return b, nil + return b, _spec } diff --git a/entc/integration/customid/ent/car_create.go b/entc/integration/customid/ent/car_create.go index b94793734..156795a20 100644 --- a/entc/integration/customid/ent/car_create.go +++ b/entc/integration/customid/ent/car_create.go @@ -145,6 +145,21 @@ func (cc *CarCreate) SaveX(ctx context.Context) *Car { } func (cc *CarCreate) sqlSave(ctx context.Context) (*Car, error) { + c, _spec := cc.createSpec() + if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + if c.ID == 0 { + id := _spec.ID.Value.(int64) + c.ID = int(id) + } + return c, nil +} + +func (cc *CarCreate) createSpec() (*Car, *sqlgraph.CreateSpec) { var ( c = &Car{config: cc.config} _spec = &sqlgraph.CreateSpec{ @@ -202,15 +217,5 @@ func (cc *CarCreate) sqlSave(ctx context.Context) (*Car, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - if c.ID == 0 { - id := _spec.ID.Value.(int64) - c.ID = int(id) - } - return c, nil + return c, _spec } diff --git a/entc/integration/customid/ent/group_create.go b/entc/integration/customid/ent/group_create.go index 84e841230..e9d25b01c 100644 --- a/entc/integration/customid/ent/group_create.go +++ b/entc/integration/customid/ent/group_create.go @@ -88,6 +88,21 @@ func (gc *GroupCreate) SaveX(ctx context.Context) *Group { } func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { + gr, _spec := gc.createSpec() + if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + if gr.ID == 0 { + id := _spec.ID.Value.(int64) + gr.ID = int(id) + } + return gr, nil +} + +func (gc *GroupCreate) createSpec() (*Group, *sqlgraph.CreateSpec) { var ( gr = &Group{config: gc.config} _spec = &sqlgraph.CreateSpec{ @@ -121,15 +136,5 @@ func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - if gr.ID == 0 { - id := _spec.ID.Value.(int64) - gr.ID = int(id) - } - return gr, nil + return gr, _spec } diff --git a/entc/integration/customid/ent/pet_create.go b/entc/integration/customid/ent/pet_create.go index 9ae942236..b5aac1662 100644 --- a/entc/integration/customid/ent/pet_create.go +++ b/entc/integration/customid/ent/pet_create.go @@ -147,6 +147,17 @@ func (pc *PetCreate) SaveX(ctx context.Context) *Pet { } func (pc *PetCreate) sqlSave(ctx context.Context) (*Pet, error) { + pe, _spec := pc.createSpec() + if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + return pe, nil +} + +func (pc *PetCreate) createSpec() (*Pet, *sqlgraph.CreateSpec) { var ( pe = &Pet{config: pc.config} _spec = &sqlgraph.CreateSpec{ @@ -237,11 +248,5 @@ func (pc *PetCreate) sqlSave(ctx context.Context) (*Pet, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - return pe, nil + return pe, _spec } diff --git a/entc/integration/customid/ent/user_create.go b/entc/integration/customid/ent/user_create.go index a33209bba..b4697689c 100644 --- a/entc/integration/customid/ent/user_create.go +++ b/entc/integration/customid/ent/user_create.go @@ -138,6 +138,21 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + if u.ID == 0 { + id := _spec.ID.Value.(int64) + u.ID = int(id) + } + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -228,15 +243,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - if u.ID == 0 { - id := _spec.ID.Value.(int64) - u.ID = int(id) - } - return u, nil + return u, _spec } diff --git a/entc/integration/ent/card_create.go b/entc/integration/ent/card_create.go index a39236a9b..e2fc4e338 100644 --- a/entc/integration/ent/card_create.go +++ b/entc/integration/ent/card_create.go @@ -173,6 +173,19 @@ func (cc *CardCreate) SaveX(ctx context.Context) *Card { } func (cc *CardCreate) sqlSave(ctx context.Context) (*Card, error) { + c, _spec := cc.createSpec() + if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + c.ID = int(id) + return c, nil +} + +func (cc *CardCreate) createSpec() (*Card, *sqlgraph.CreateSpec) { var ( c = &Card{config: cc.config} _spec = &sqlgraph.CreateSpec{ @@ -253,13 +266,5 @@ func (cc *CardCreate) sqlSave(ctx context.Context) (*Card, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - c.ID = int(id) - return c, nil + return c, _spec } diff --git a/entc/integration/ent/comment_create.go b/entc/integration/ent/comment_create.go index 573e00d95..19fad0754 100644 --- a/entc/integration/ent/comment_create.go +++ b/entc/integration/ent/comment_create.go @@ -99,6 +99,19 @@ func (cc *CommentCreate) SaveX(ctx context.Context) *Comment { } func (cc *CommentCreate) sqlSave(ctx context.Context) (*Comment, error) { + c, _spec := cc.createSpec() + if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + c.ID = int(id) + return c, nil +} + +func (cc *CommentCreate) createSpec() (*Comment, *sqlgraph.CreateSpec) { var ( c = &Comment{config: cc.config} _spec = &sqlgraph.CreateSpec{ @@ -133,13 +146,5 @@ func (cc *CommentCreate) sqlSave(ctx context.Context) (*Comment, error) { }) c.NillableInt = &value } - if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - c.ID = int(id) - return c, nil + return c, _spec } diff --git a/entc/integration/ent/fieldtype_create.go b/entc/integration/ent/fieldtype_create.go index 92be87756..e7f1847a0 100644 --- a/entc/integration/ent/fieldtype_create.go +++ b/entc/integration/ent/fieldtype_create.go @@ -611,6 +611,19 @@ func (ftc *FieldTypeCreate) SaveX(ctx context.Context) *FieldType { } func (ftc *FieldTypeCreate) sqlSave(ctx context.Context) (*FieldType, error) { + ft, _spec := ftc.createSpec() + if err := sqlgraph.CreateNode(ctx, ftc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + ft.ID = int(id) + return ft, nil +} + +func (ftc *FieldTypeCreate) createSpec() (*FieldType, *sqlgraph.CreateSpec) { var ( ft = &FieldType{config: ftc.config} _spec = &sqlgraph.CreateSpec{ @@ -973,13 +986,5 @@ func (ftc *FieldTypeCreate) sqlSave(ctx context.Context) (*FieldType, error) { }) ft.NullFloat = value } - if err := sqlgraph.CreateNode(ctx, ftc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - ft.ID = int(id) - return ft, nil + return ft, _spec } diff --git a/entc/integration/ent/file_create.go b/entc/integration/ent/file_create.go index 39f9cafb1..900f49627 100644 --- a/entc/integration/ent/file_create.go +++ b/entc/integration/ent/file_create.go @@ -183,6 +183,19 @@ func (fc *FileCreate) SaveX(ctx context.Context) *File { } func (fc *FileCreate) sqlSave(ctx context.Context) (*File, error) { + f, _spec := fc.createSpec() + if err := sqlgraph.CreateNode(ctx, fc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + f.ID = int(id) + return f, nil +} + +func (fc *FileCreate) createSpec() (*File, *sqlgraph.CreateSpec) { var ( f = &File{config: fc.config} _spec = &sqlgraph.CreateSpec{ @@ -282,13 +295,5 @@ func (fc *FileCreate) sqlSave(ctx context.Context) (*File, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, fc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - f.ID = int(id) - return f, nil + return f, _spec } diff --git a/entc/integration/ent/filetype_create.go b/entc/integration/ent/filetype_create.go index d3c6c41ae..a90f66bbd 100644 --- a/entc/integration/ent/filetype_create.go +++ b/entc/integration/ent/filetype_create.go @@ -92,6 +92,19 @@ func (ftc *FileTypeCreate) SaveX(ctx context.Context) *FileType { } func (ftc *FileTypeCreate) sqlSave(ctx context.Context) (*FileType, error) { + ft, _spec := ftc.createSpec() + if err := sqlgraph.CreateNode(ctx, ftc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + ft.ID = int(id) + return ft, nil +} + +func (ftc *FileTypeCreate) createSpec() (*FileType, *sqlgraph.CreateSpec) { var ( ft = &FileType{config: ftc.config} _spec = &sqlgraph.CreateSpec{ @@ -129,13 +142,5 @@ func (ftc *FileTypeCreate) sqlSave(ctx context.Context) (*FileType, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, ftc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - ft.ID = int(id) - return ft, nil + return ft, _spec } diff --git a/entc/integration/ent/group_create.go b/entc/integration/ent/group_create.go index 75bbd9ced..eef186e00 100644 --- a/entc/integration/ent/group_create.go +++ b/entc/integration/ent/group_create.go @@ -213,6 +213,19 @@ func (gc *GroupCreate) SaveX(ctx context.Context) *Group { } func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { + gr, _spec := gc.createSpec() + if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + gr.ID = int(id) + return gr, nil +} + +func (gc *GroupCreate) createSpec() (*Group, *sqlgraph.CreateSpec) { var ( gr = &Group{config: gc.config} _spec = &sqlgraph.CreateSpec{ @@ -339,13 +352,5 @@ func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - gr.ID = int(id) - return gr, nil + return gr, _spec } diff --git a/entc/integration/ent/groupinfo_create.go b/entc/integration/ent/groupinfo_create.go index a2409d689..b4baf6f95 100644 --- a/entc/integration/ent/groupinfo_create.go +++ b/entc/integration/ent/groupinfo_create.go @@ -110,6 +110,19 @@ func (gic *GroupInfoCreate) SaveX(ctx context.Context) *GroupInfo { } func (gic *GroupInfoCreate) sqlSave(ctx context.Context) (*GroupInfo, error) { + gi, _spec := gic.createSpec() + if err := sqlgraph.CreateNode(ctx, gic.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + gi.ID = int(id) + return gi, nil +} + +func (gic *GroupInfoCreate) createSpec() (*GroupInfo, *sqlgraph.CreateSpec) { var ( gi = &GroupInfo{config: gic.config} _spec = &sqlgraph.CreateSpec{ @@ -155,13 +168,5 @@ func (gic *GroupInfoCreate) sqlSave(ctx context.Context) (*GroupInfo, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, gic.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - gi.ID = int(id) - return gi, nil + return gi, _spec } diff --git a/entc/integration/ent/item_create.go b/entc/integration/ent/item_create.go index b8f204323..faa8c9a1b 100644 --- a/entc/integration/ent/item_create.go +++ b/entc/integration/ent/item_create.go @@ -66,16 +66,7 @@ func (ic *ItemCreate) SaveX(ctx context.Context) *Item { } func (ic *ItemCreate) sqlSave(ctx context.Context) (*Item, error) { - var ( - i = &Item{config: ic.config} - _spec = &sqlgraph.CreateSpec{ - Table: item.Table, - ID: &sqlgraph.FieldSpec{ - Type: field.TypeInt, - Column: item.FieldID, - }, - } - ) + i, _spec := ic.createSpec() if err := sqlgraph.CreateNode(ctx, ic.driver, _spec); err != nil { if cerr, ok := isSQLConstraintError(err); ok { err = cerr @@ -86,3 +77,17 @@ func (ic *ItemCreate) sqlSave(ctx context.Context) (*Item, error) { i.ID = int(id) return i, nil } + +func (ic *ItemCreate) createSpec() (*Item, *sqlgraph.CreateSpec) { + var ( + i = &Item{config: ic.config} + _spec = &sqlgraph.CreateSpec{ + Table: item.Table, + ID: &sqlgraph.FieldSpec{ + Type: field.TypeInt, + Column: item.FieldID, + }, + } + ) + return i, _spec +} diff --git a/entc/integration/ent/node_create.go b/entc/integration/ent/node_create.go index 06dd021b1..7b241631f 100644 --- a/entc/integration/ent/node_create.go +++ b/entc/integration/ent/node_create.go @@ -118,6 +118,19 @@ func (nc *NodeCreate) SaveX(ctx context.Context) *Node { } func (nc *NodeCreate) sqlSave(ctx context.Context) (*Node, error) { + n, _spec := nc.createSpec() + if err := sqlgraph.CreateNode(ctx, nc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + n.ID = int(id) + return n, nil +} + +func (nc *NodeCreate) createSpec() (*Node, *sqlgraph.CreateSpec) { var ( n = &Node{config: nc.config} _spec = &sqlgraph.CreateSpec{ @@ -174,13 +187,5 @@ func (nc *NodeCreate) sqlSave(ctx context.Context) (*Node, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, nc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - n.ID = int(id) - return n, nil + return n, _spec } diff --git a/entc/integration/ent/pet_create.go b/entc/integration/ent/pet_create.go index 91f3ac169..44d0d1ff9 100644 --- a/entc/integration/ent/pet_create.go +++ b/entc/integration/ent/pet_create.go @@ -115,6 +115,19 @@ func (pc *PetCreate) SaveX(ctx context.Context) *Pet { } func (pc *PetCreate) sqlSave(ctx context.Context) (*Pet, error) { + pe, _spec := pc.createSpec() + if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + pe.ID = int(id) + return pe, nil +} + +func (pc *PetCreate) createSpec() (*Pet, *sqlgraph.CreateSpec) { var ( pe = &Pet{config: pc.config} _spec = &sqlgraph.CreateSpec{ @@ -171,13 +184,5 @@ func (pc *PetCreate) sqlSave(ctx context.Context) (*Pet, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - pe.ID = int(id) - return pe, nil + return pe, _spec } diff --git a/entc/integration/ent/spec_create.go b/entc/integration/ent/spec_create.go index 0b341e525..27344afd4 100644 --- a/entc/integration/ent/spec_create.go +++ b/entc/integration/ent/spec_create.go @@ -82,6 +82,19 @@ func (sc *SpecCreate) SaveX(ctx context.Context) *Spec { } func (sc *SpecCreate) sqlSave(ctx context.Context) (*Spec, error) { + s, _spec := sc.createSpec() + if err := sqlgraph.CreateNode(ctx, sc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + s.ID = int(id) + return s, nil +} + +func (sc *SpecCreate) createSpec() (*Spec, *sqlgraph.CreateSpec) { var ( s = &Spec{config: sc.config} _spec = &sqlgraph.CreateSpec{ @@ -111,13 +124,5 @@ func (sc *SpecCreate) sqlSave(ctx context.Context) (*Spec, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, sc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - s.ID = int(id) - return s, nil + return s, _spec } diff --git a/entc/integration/ent/user_create.go b/entc/integration/ent/user_create.go index b3ad89482..4cd68406f 100644 --- a/entc/integration/ent/user_create.go +++ b/entc/integration/ent/user_create.go @@ -386,6 +386,19 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + u.ID = int(id) + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -677,13 +690,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - u.ID = int(id) - return u, nil + return u, _spec } diff --git a/entc/integration/hooks/ent/card_create.go b/entc/integration/hooks/ent/card_create.go index af99690f6..41e21530b 100644 --- a/entc/integration/hooks/ent/card_create.go +++ b/entc/integration/hooks/ent/card_create.go @@ -142,6 +142,19 @@ func (cc *CardCreate) SaveX(ctx context.Context) *Card { } func (cc *CardCreate) sqlSave(ctx context.Context) (*Card, error) { + c, _spec := cc.createSpec() + if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + c.ID = int(id) + return c, nil +} + +func (cc *CardCreate) createSpec() (*Card, *sqlgraph.CreateSpec) { var ( c = &Card{config: cc.config} _spec = &sqlgraph.CreateSpec{ @@ -195,13 +208,5 @@ func (cc *CardCreate) sqlSave(ctx context.Context) (*Card, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - c.ID = int(id) - return c, nil + return c, _spec } diff --git a/entc/integration/hooks/ent/user_create.go b/entc/integration/hooks/ent/user_create.go index 92196f3b9..0c18aa0fb 100644 --- a/entc/integration/hooks/ent/user_create.go +++ b/entc/integration/hooks/ent/user_create.go @@ -158,6 +158,19 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + u.ID = int(id) + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -249,13 +262,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - u.ID = int(id) - return u, nil + return u, _spec } diff --git a/entc/integration/idtype/ent/user_create.go b/entc/integration/idtype/ent/user_create.go index 3aae2fc3a..55fdf8057 100644 --- a/entc/integration/idtype/ent/user_create.go +++ b/entc/integration/idtype/ent/user_create.go @@ -125,6 +125,19 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + u.ID = uint64(id) + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -200,13 +213,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - u.ID = uint64(id) - return u, nil + return u, _spec } diff --git a/entc/integration/json/ent/user_create.go b/entc/integration/json/ent/user_create.go index 20d9ec94b..58651b007 100644 --- a/entc/integration/json/ent/user_create.go +++ b/entc/integration/json/ent/user_create.go @@ -105,6 +105,19 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + u.ID = int(id) + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -163,13 +176,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { }) u.Strings = value } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - u.ID = int(id) - return u, nil + return u, _spec } diff --git a/entc/integration/migrate/entv1/car_create.go b/entc/integration/migrate/entv1/car_create.go index cf49971b7..dabda232a 100644 --- a/entc/integration/migrate/entv1/car_create.go +++ b/entc/integration/migrate/entv1/car_create.go @@ -86,6 +86,19 @@ func (cc *CarCreate) SaveX(ctx context.Context) *Car { } func (cc *CarCreate) sqlSave(ctx context.Context) (*Car, error) { + c, _spec := cc.createSpec() + if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + c.ID = int(id) + return c, nil +} + +func (cc *CarCreate) createSpec() (*Car, *sqlgraph.CreateSpec) { var ( c = &Car{config: cc.config} _spec = &sqlgraph.CreateSpec{ @@ -115,13 +128,5 @@ func (cc *CarCreate) sqlSave(ctx context.Context) (*Car, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - c.ID = int(id) - return c, nil + return c, _spec } diff --git a/entc/integration/migrate/entv1/user_create.go b/entc/integration/migrate/entv1/user_create.go index f5973c189..70f7f104a 100644 --- a/entc/integration/migrate/entv1/user_create.go +++ b/entc/integration/migrate/entv1/user_create.go @@ -245,6 +245,21 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + if u.ID == 0 { + id := _spec.ID.Value.(int64) + u.ID = int(id) + } + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -399,15 +414,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - if u.ID == 0 { - id := _spec.ID.Value.(int64) - u.ID = int(id) - } - return u, nil + return u, _spec } diff --git a/entc/integration/migrate/entv2/car_create.go b/entc/integration/migrate/entv2/car_create.go index b6440af5b..5561c0a93 100644 --- a/entc/integration/migrate/entv2/car_create.go +++ b/entc/integration/migrate/entv2/car_create.go @@ -86,6 +86,19 @@ func (cc *CarCreate) SaveX(ctx context.Context) *Car { } func (cc *CarCreate) sqlSave(ctx context.Context) (*Car, error) { + c, _spec := cc.createSpec() + if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + c.ID = int(id) + return c, nil +} + +func (cc *CarCreate) createSpec() (*Car, *sqlgraph.CreateSpec) { var ( c = &Car{config: cc.config} _spec = &sqlgraph.CreateSpec{ @@ -115,13 +128,5 @@ func (cc *CarCreate) sqlSave(ctx context.Context) (*Car, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - c.ID = int(id) - return c, nil + return c, _spec } diff --git a/entc/integration/migrate/entv2/group_create.go b/entc/integration/migrate/entv2/group_create.go index 91cacea6b..95d532f65 100644 --- a/entc/integration/migrate/entv2/group_create.go +++ b/entc/integration/migrate/entv2/group_create.go @@ -66,16 +66,7 @@ func (gc *GroupCreate) SaveX(ctx context.Context) *Group { } func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { - var ( - gr = &Group{config: gc.config} - _spec = &sqlgraph.CreateSpec{ - Table: group.Table, - ID: &sqlgraph.FieldSpec{ - Type: field.TypeInt, - Column: group.FieldID, - }, - } - ) + gr, _spec := gc.createSpec() if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { if cerr, ok := isSQLConstraintError(err); ok { err = cerr @@ -86,3 +77,17 @@ func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { gr.ID = int(id) return gr, nil } + +func (gc *GroupCreate) createSpec() (*Group, *sqlgraph.CreateSpec) { + var ( + gr = &Group{config: gc.config} + _spec = &sqlgraph.CreateSpec{ + Table: group.Table, + ID: &sqlgraph.FieldSpec{ + Type: field.TypeInt, + Column: group.FieldID, + }, + } + ) + return gr, _spec +} diff --git a/entc/integration/migrate/entv2/pet_create.go b/entc/integration/migrate/entv2/pet_create.go index e41d3485d..fe0526cd8 100644 --- a/entc/integration/migrate/entv2/pet_create.go +++ b/entc/integration/migrate/entv2/pet_create.go @@ -86,6 +86,19 @@ func (pc *PetCreate) SaveX(ctx context.Context) *Pet { } func (pc *PetCreate) sqlSave(ctx context.Context) (*Pet, error) { + pe, _spec := pc.createSpec() + if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + pe.ID = int(id) + return pe, nil +} + +func (pc *PetCreate) createSpec() (*Pet, *sqlgraph.CreateSpec) { var ( pe = &Pet{config: pc.config} _spec = &sqlgraph.CreateSpec{ @@ -115,13 +128,5 @@ func (pc *PetCreate) sqlSave(ctx context.Context) (*Pet, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - pe.ID = int(id) - return pe, nil + return pe, _spec } diff --git a/entc/integration/migrate/entv2/user_create.go b/entc/integration/migrate/entv2/user_create.go index a719e9767..0bb826c97 100644 --- a/entc/integration/migrate/entv2/user_create.go +++ b/entc/integration/migrate/entv2/user_create.go @@ -251,6 +251,21 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + if u.ID == 0 { + id := _spec.ID.Value.(int64) + u.ID = int(id) + } + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -402,15 +417,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - if u.ID == 0 { - id := _spec.ID.Value.(int64) - u.ID = int(id) - } - return u, nil + return u, _spec } diff --git a/entc/integration/privacy/ent/galaxy_create.go b/entc/integration/privacy/ent/galaxy_create.go index 63cf3041b..91353cbdc 100644 --- a/entc/integration/privacy/ent/galaxy_create.go +++ b/entc/integration/privacy/ent/galaxy_create.go @@ -111,6 +111,19 @@ func (gc *GalaxyCreate) SaveX(ctx context.Context) *Galaxy { } func (gc *GalaxyCreate) sqlSave(ctx context.Context) (*Galaxy, error) { + ga, _spec := gc.createSpec() + if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + ga.ID = int(id) + return ga, nil +} + +func (gc *GalaxyCreate) createSpec() (*Galaxy, *sqlgraph.CreateSpec) { var ( ga = &Galaxy{config: gc.config} _spec = &sqlgraph.CreateSpec{ @@ -156,13 +169,5 @@ func (gc *GalaxyCreate) sqlSave(ctx context.Context) (*Galaxy, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - ga.ID = int(id) - return ga, nil + return ga, _spec } diff --git a/entc/integration/privacy/ent/planet_create.go b/entc/integration/privacy/ent/planet_create.go index a10bc88f3..78c28b032 100644 --- a/entc/integration/privacy/ent/planet_create.go +++ b/entc/integration/privacy/ent/planet_create.go @@ -110,6 +110,19 @@ func (pc *PlanetCreate) SaveX(ctx context.Context) *Planet { } func (pc *PlanetCreate) sqlSave(ctx context.Context) (*Planet, error) { + pl, _spec := pc.createSpec() + if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + pl.ID = int(id) + return pl, nil +} + +func (pc *PlanetCreate) createSpec() (*Planet, *sqlgraph.CreateSpec) { var ( pl = &Planet{config: pc.config} _spec = &sqlgraph.CreateSpec{ @@ -155,13 +168,5 @@ func (pc *PlanetCreate) sqlSave(ctx context.Context) (*Planet, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - pl.ID = int(id) - return pl, nil + return pl, _spec } diff --git a/entc/integration/template/ent/group_create.go b/entc/integration/template/ent/group_create.go index 3c7c46c6c..e514c8a82 100644 --- a/entc/integration/template/ent/group_create.go +++ b/entc/integration/template/ent/group_create.go @@ -76,6 +76,19 @@ func (gc *GroupCreate) SaveX(ctx context.Context) *Group { } func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { + gr, _spec := gc.createSpec() + if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + gr.ID = int(id) + return gr, nil +} + +func (gc *GroupCreate) createSpec() (*Group, *sqlgraph.CreateSpec) { var ( gr = &Group{config: gc.config} _spec = &sqlgraph.CreateSpec{ @@ -94,13 +107,5 @@ func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { }) gr.MaxUsers = value } - if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - gr.ID = int(id) - return gr, nil + return gr, _spec } diff --git a/entc/integration/template/ent/pet_create.go b/entc/integration/template/ent/pet_create.go index 86cf9a221..1a5122f23 100644 --- a/entc/integration/template/ent/pet_create.go +++ b/entc/integration/template/ent/pet_create.go @@ -111,6 +111,19 @@ func (pc *PetCreate) SaveX(ctx context.Context) *Pet { } func (pc *PetCreate) sqlSave(ctx context.Context) (*Pet, error) { + pe, _spec := pc.createSpec() + if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + pe.ID = int(id) + return pe, nil +} + +func (pc *PetCreate) createSpec() (*Pet, *sqlgraph.CreateSpec) { var ( pe = &Pet{config: pc.config} _spec = &sqlgraph.CreateSpec{ @@ -156,13 +169,5 @@ func (pc *PetCreate) sqlSave(ctx context.Context) (*Pet, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - pe.ID = int(id) - return pe, nil + return pe, _spec } diff --git a/entc/integration/template/ent/user_create.go b/entc/integration/template/ent/user_create.go index d67ddc6c1..7c86d8a0b 100644 --- a/entc/integration/template/ent/user_create.go +++ b/entc/integration/template/ent/user_create.go @@ -107,6 +107,19 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + u.ID = int(id) + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -163,13 +176,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - u.ID = int(id) - return u, nil + return u, _spec } diff --git a/examples/edgeindex/ent/city_create.go b/examples/edgeindex/ent/city_create.go index af6491178..5ba0a6bdc 100644 --- a/examples/edgeindex/ent/city_create.go +++ b/examples/edgeindex/ent/city_create.go @@ -92,6 +92,19 @@ func (cc *CityCreate) SaveX(ctx context.Context) *City { } func (cc *CityCreate) sqlSave(ctx context.Context) (*City, error) { + c, _spec := cc.createSpec() + if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + c.ID = int(id) + return c, nil +} + +func (cc *CityCreate) createSpec() (*City, *sqlgraph.CreateSpec) { var ( c = &City{config: cc.config} _spec = &sqlgraph.CreateSpec{ @@ -129,13 +142,5 @@ func (cc *CityCreate) sqlSave(ctx context.Context) (*City, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - c.ID = int(id) - return c, nil + return c, _spec } diff --git a/examples/edgeindex/ent/street_create.go b/examples/edgeindex/ent/street_create.go index be2093cd2..4ca6243c4 100644 --- a/examples/edgeindex/ent/street_create.go +++ b/examples/edgeindex/ent/street_create.go @@ -96,6 +96,19 @@ func (sc *StreetCreate) SaveX(ctx context.Context) *Street { } func (sc *StreetCreate) sqlSave(ctx context.Context) (*Street, error) { + s, _spec := sc.createSpec() + if err := sqlgraph.CreateNode(ctx, sc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + s.ID = int(id) + return s, nil +} + +func (sc *StreetCreate) createSpec() (*Street, *sqlgraph.CreateSpec) { var ( s = &Street{config: sc.config} _spec = &sqlgraph.CreateSpec{ @@ -133,13 +146,5 @@ func (sc *StreetCreate) sqlSave(ctx context.Context) (*Street, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, sc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - s.ID = int(id) - return s, nil + return s, _spec } diff --git a/examples/entcpkg/ent/user_create.go b/examples/entcpkg/ent/user_create.go index a0b43695e..62b369297 100644 --- a/examples/entcpkg/ent/user_create.go +++ b/examples/entcpkg/ent/user_create.go @@ -66,16 +66,7 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { - var ( - u = &User{config: uc.config} - _spec = &sqlgraph.CreateSpec{ - Table: user.Table, - ID: &sqlgraph.FieldSpec{ - Type: field.TypeInt, - Column: user.FieldID, - }, - } - ) + u, _spec := uc.createSpec() if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { if cerr, ok := isSQLConstraintError(err); ok { err = cerr @@ -86,3 +77,17 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { u.ID = int(id) return u, nil } + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { + var ( + u = &User{config: uc.config} + _spec = &sqlgraph.CreateSpec{ + Table: user.Table, + ID: &sqlgraph.FieldSpec{ + Type: field.TypeInt, + Column: user.FieldID, + }, + } + ) + return u, _spec +} diff --git a/examples/m2m2types/ent/group_create.go b/examples/m2m2types/ent/group_create.go index 09d7a27b2..1f99ad5dc 100644 --- a/examples/m2m2types/ent/group_create.go +++ b/examples/m2m2types/ent/group_create.go @@ -92,6 +92,19 @@ func (gc *GroupCreate) SaveX(ctx context.Context) *Group { } func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { + gr, _spec := gc.createSpec() + if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + gr.ID = int(id) + return gr, nil +} + +func (gc *GroupCreate) createSpec() (*Group, *sqlgraph.CreateSpec) { var ( gr = &Group{config: gc.config} _spec = &sqlgraph.CreateSpec{ @@ -129,13 +142,5 @@ func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - gr.ID = int(id) - return gr, nil + return gr, _spec } diff --git a/examples/m2m2types/ent/user_create.go b/examples/m2m2types/ent/user_create.go index 67bad90c6..04f893a2a 100644 --- a/examples/m2m2types/ent/user_create.go +++ b/examples/m2m2types/ent/user_create.go @@ -101,6 +101,19 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + u.ID = int(id) + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -146,13 +159,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - u.ID = int(id) - return u, nil + return u, _spec } diff --git a/examples/m2mbidi/ent/user_create.go b/examples/m2mbidi/ent/user_create.go index 5d9a5cb02..028dd9a3e 100644 --- a/examples/m2mbidi/ent/user_create.go +++ b/examples/m2mbidi/ent/user_create.go @@ -100,6 +100,19 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + u.ID = int(id) + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -145,13 +158,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - u.ID = int(id) - return u, nil + return u, _spec } diff --git a/examples/m2mrecur/ent/user_create.go b/examples/m2mrecur/ent/user_create.go index 138f45d35..0bb332106 100644 --- a/examples/m2mrecur/ent/user_create.go +++ b/examples/m2mrecur/ent/user_create.go @@ -115,6 +115,19 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + u.ID = int(id) + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -179,13 +192,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - u.ID = int(id) - return u, nil + return u, _spec } diff --git a/examples/o2m2types/ent/pet_create.go b/examples/o2m2types/ent/pet_create.go index ef7012ffb..b238225f1 100644 --- a/examples/o2m2types/ent/pet_create.go +++ b/examples/o2m2types/ent/pet_create.go @@ -96,6 +96,19 @@ func (pc *PetCreate) SaveX(ctx context.Context) *Pet { } func (pc *PetCreate) sqlSave(ctx context.Context) (*Pet, error) { + pe, _spec := pc.createSpec() + if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + pe.ID = int(id) + return pe, nil +} + +func (pc *PetCreate) createSpec() (*Pet, *sqlgraph.CreateSpec) { var ( pe = &Pet{config: pc.config} _spec = &sqlgraph.CreateSpec{ @@ -133,13 +146,5 @@ func (pc *PetCreate) sqlSave(ctx context.Context) (*Pet, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - pe.ID = int(id) - return pe, nil + return pe, _spec } diff --git a/examples/o2m2types/ent/user_create.go b/examples/o2m2types/ent/user_create.go index fe40f00b9..ccb5e9b31 100644 --- a/examples/o2m2types/ent/user_create.go +++ b/examples/o2m2types/ent/user_create.go @@ -101,6 +101,19 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + u.ID = int(id) + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -146,13 +159,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - u.ID = int(id) - return u, nil + return u, _spec } diff --git a/examples/o2mrecur/ent/node_create.go b/examples/o2mrecur/ent/node_create.go index 15e137abb..a0a07739a 100644 --- a/examples/o2mrecur/ent/node_create.go +++ b/examples/o2mrecur/ent/node_create.go @@ -110,6 +110,19 @@ func (nc *NodeCreate) SaveX(ctx context.Context) *Node { } func (nc *NodeCreate) sqlSave(ctx context.Context) (*Node, error) { + n, _spec := nc.createSpec() + if err := sqlgraph.CreateNode(ctx, nc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + n.ID = int(id) + return n, nil +} + +func (nc *NodeCreate) createSpec() (*Node, *sqlgraph.CreateSpec) { var ( n = &Node{config: nc.config} _spec = &sqlgraph.CreateSpec{ @@ -166,13 +179,5 @@ func (nc *NodeCreate) sqlSave(ctx context.Context) (*Node, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, nc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - n.ID = int(id) - return n, nil + return n, _spec } diff --git a/examples/o2o2types/ent/card_create.go b/examples/o2o2types/ent/card_create.go index 15291ece6..fdc2deec4 100644 --- a/examples/o2o2types/ent/card_create.go +++ b/examples/o2o2types/ent/card_create.go @@ -101,6 +101,19 @@ func (cc *CardCreate) SaveX(ctx context.Context) *Card { } func (cc *CardCreate) sqlSave(ctx context.Context) (*Card, error) { + c, _spec := cc.createSpec() + if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + c.ID = int(id) + return c, nil +} + +func (cc *CardCreate) createSpec() (*Card, *sqlgraph.CreateSpec) { var ( c = &Card{config: cc.config} _spec = &sqlgraph.CreateSpec{ @@ -146,13 +159,5 @@ func (cc *CardCreate) sqlSave(ctx context.Context) (*Card, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - c.ID = int(id) - return c, nil + return c, _spec } diff --git a/examples/o2o2types/ent/user_create.go b/examples/o2o2types/ent/user_create.go index d074bee7c..f3b4c461f 100644 --- a/examples/o2o2types/ent/user_create.go +++ b/examples/o2o2types/ent/user_create.go @@ -105,6 +105,19 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + u.ID = int(id) + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -150,13 +163,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - u.ID = int(id) - return u, nil + return u, _spec } diff --git a/examples/o2obidi/ent/user_create.go b/examples/o2obidi/ent/user_create.go index b9f92bfad..dbcecb8b2 100644 --- a/examples/o2obidi/ent/user_create.go +++ b/examples/o2obidi/ent/user_create.go @@ -104,6 +104,19 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + u.ID = int(id) + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -149,13 +162,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - u.ID = int(id) - return u, nil + return u, _spec } diff --git a/examples/o2orecur/ent/node_create.go b/examples/o2orecur/ent/node_create.go index 33cdf7ba9..7bf4ae04e 100644 --- a/examples/o2orecur/ent/node_create.go +++ b/examples/o2orecur/ent/node_create.go @@ -114,6 +114,19 @@ func (nc *NodeCreate) SaveX(ctx context.Context) *Node { } func (nc *NodeCreate) sqlSave(ctx context.Context) (*Node, error) { + n, _spec := nc.createSpec() + if err := sqlgraph.CreateNode(ctx, nc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + n.ID = int(id) + return n, nil +} + +func (nc *NodeCreate) createSpec() (*Node, *sqlgraph.CreateSpec) { var ( n = &Node{config: nc.config} _spec = &sqlgraph.CreateSpec{ @@ -170,13 +183,5 @@ func (nc *NodeCreate) sqlSave(ctx context.Context) (*Node, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, nc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - n.ID = int(id) - return n, nil + return n, _spec } diff --git a/examples/start/ent/car_create.go b/examples/start/ent/car_create.go index 47d42b385..85804a54e 100644 --- a/examples/start/ent/car_create.go +++ b/examples/start/ent/car_create.go @@ -106,6 +106,19 @@ func (cc *CarCreate) SaveX(ctx context.Context) *Car { } func (cc *CarCreate) sqlSave(ctx context.Context) (*Car, error) { + c, _spec := cc.createSpec() + if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + c.ID = int(id) + return c, nil +} + +func (cc *CarCreate) createSpec() (*Car, *sqlgraph.CreateSpec) { var ( c = &Car{config: cc.config} _spec = &sqlgraph.CreateSpec{ @@ -151,13 +164,5 @@ func (cc *CarCreate) sqlSave(ctx context.Context) (*Car, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - c.ID = int(id) - return c, nil + return c, _spec } diff --git a/examples/start/ent/group_create.go b/examples/start/ent/group_create.go index 841739093..df0cfd30b 100644 --- a/examples/start/ent/group_create.go +++ b/examples/start/ent/group_create.go @@ -97,6 +97,19 @@ func (gc *GroupCreate) SaveX(ctx context.Context) *Group { } func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { + gr, _spec := gc.createSpec() + if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + gr.ID = int(id) + return gr, nil +} + +func (gc *GroupCreate) createSpec() (*Group, *sqlgraph.CreateSpec) { var ( gr = &Group{config: gc.config} _spec = &sqlgraph.CreateSpec{ @@ -134,13 +147,5 @@ func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - gr.ID = int(id) - return gr, nil + return gr, _spec } diff --git a/examples/start/ent/user_create.go b/examples/start/ent/user_create.go index c9e8e1bdc..b958b773a 100644 --- a/examples/start/ent/user_create.go +++ b/examples/start/ent/user_create.go @@ -131,6 +131,19 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + u.ID = int(id) + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -195,13 +208,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - u.ID = int(id) - return u, nil + return u, _spec } diff --git a/examples/traversal/ent/group_create.go b/examples/traversal/ent/group_create.go index 01ff0f14b..946408a0f 100644 --- a/examples/traversal/ent/group_create.go +++ b/examples/traversal/ent/group_create.go @@ -111,6 +111,19 @@ func (gc *GroupCreate) SaveX(ctx context.Context) *Group { } func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { + gr, _spec := gc.createSpec() + if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + gr.ID = int(id) + return gr, nil +} + +func (gc *GroupCreate) createSpec() (*Group, *sqlgraph.CreateSpec) { var ( gr = &Group{config: gc.config} _spec = &sqlgraph.CreateSpec{ @@ -167,13 +180,5 @@ func (gc *GroupCreate) sqlSave(ctx context.Context) (*Group, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, gc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - gr.ID = int(id) - return gr, nil + return gr, _spec } diff --git a/examples/traversal/ent/pet_create.go b/examples/traversal/ent/pet_create.go index 653f80213..dc57d188d 100644 --- a/examples/traversal/ent/pet_create.go +++ b/examples/traversal/ent/pet_create.go @@ -111,6 +111,19 @@ func (pc *PetCreate) SaveX(ctx context.Context) *Pet { } func (pc *PetCreate) sqlSave(ctx context.Context) (*Pet, error) { + pe, _spec := pc.createSpec() + if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + pe.ID = int(id) + return pe, nil +} + +func (pc *PetCreate) createSpec() (*Pet, *sqlgraph.CreateSpec) { var ( pe = &Pet{config: pc.config} _spec = &sqlgraph.CreateSpec{ @@ -167,13 +180,5 @@ func (pc *PetCreate) sqlSave(ctx context.Context) (*Pet, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, pc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - pe.ID = int(id) - return pe, nil + return pe, _spec } diff --git a/examples/traversal/ent/user_create.go b/examples/traversal/ent/user_create.go index b038e5d2e..b67b7efc5 100644 --- a/examples/traversal/ent/user_create.go +++ b/examples/traversal/ent/user_create.go @@ -147,6 +147,19 @@ func (uc *UserCreate) SaveX(ctx context.Context) *User { } func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { + u, _spec := uc.createSpec() + if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { + if cerr, ok := isSQLConstraintError(err); ok { + err = cerr + } + return nil, err + } + id := _spec.ID.Value.(int64) + u.ID = int(id) + return u, nil +} + +func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { var ( u = &User{config: uc.config} _spec = &sqlgraph.CreateSpec{ @@ -249,13 +262,5 @@ func (uc *UserCreate) sqlSave(ctx context.Context) (*User, error) { } _spec.Edges = append(_spec.Edges, edge) } - if err := sqlgraph.CreateNode(ctx, uc.driver, _spec); err != nil { - if cerr, ok := isSQLConstraintError(err); ok { - err = cerr - } - return nil, err - } - id := _spec.ID.Value.(int64) - u.ID = int(id) - return u, nil + return u, _spec }