{{/* Copyright 2019-present Facebook Inc. All rights reserved. This source code is licensed under the Apache 2.0 license found in the LICENSE file in the root directory of this source tree. */}} {{/* constants needed for sql dialects. */}} {{ define "dialect/sql/meta/constants" }} {{- range $t := $.RelatedTypes }} {{- if ne $t.ID.StorageKey $.ID.StorageKey }} // {{ $t.Name }}FieldID holds the string denoting the id field of the {{ $t.Name }}. {{ $t.Name }}FieldID = "{{ $t.ID.StorageKey }}" {{- end }} {{- end }} // Table holds the table name of the {{ lower $.Name }} in the database. Table = "{{ $.Table }}" {{- range $e := $.Edges }} // {{ $e.TableConstant }} is the table the holds the {{ $e.Name }} relation/edge. {{- if $e.M2M }} The primary key declared below.{{ end }} {{ $e.TableConstant }} = "{{ $e.Rel.Table }}" {{- if ne $.Table $e.Type.Table }} // {{ $e.InverseTableConstant }} is the table name for the {{ $e.Type.Name }} entity. // It exists in this package in order to avoid circular dependency with the "{{ $e.Type.Package }}" package. {{ $e.InverseTableConstant }} = "{{ $e.Type.Table }}" {{- end }} {{- if not $e.M2M }} // {{ $e.ColumnConstant }} is the table column denoting the {{ $e.Name }} relation/edge. {{ $e.ColumnConstant }} = "{{ $e.Rel.Column }}" {{- end }} {{- end }} {{ end }} {{/* variables needed for sql dialects. */}} {{ define "dialect/sql/meta/variables" }} // Columns holds all SQL columns for {{ lower $.Name }} fields. var Columns = []string{ {{ $.ID.Constant }}, {{- range $f := $.Fields }} {{ $f.Constant }}, {{- end }} } {{/* if any of the edges owns a foreign-key */}} {{ with $.ForeignKeys }} // ForeignKeys holds the SQL foreign-keys that are owned by the {{ $.Name }} type. var ForeignKeys = []string{ {{- range $fk := . }} "{{ $fk.Field.Name }}", {{- end }} } {{ end }} {{ with $.NumM2M }} var ( {{- range $_, $e := $.Edges }} {{- if $e.M2M }} // {{ $e.PKConstant }} and {{ $e.ColumnConstant }}2 are the table columns denoting the // primary key for the {{ $e.Name }} relation (M2M). {{ $e.PKConstant }} = []string{"{{ index $e.Rel.Columns 0 }}", "{{ index $e.Rel.Columns 1 }}"} {{- end }} {{- end }} ) {{ end }} {{ end }}