sqlboiler/templates/01_types.tpl

51 lines
2.4 KiB
Smarty
Raw Normal View History

2016-09-03 21:47:27 +02:00
{{if .Table.IsJoinTable -}}
{{else -}}
{{- $varNameSingular := .Table.Name | singular | camelCase -}}
{{- $tableNameSingular := .Table.Name | singular | titleCase -}}
var (
2016-09-15 06:27:06 +02:00
{{$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}}
2016-09-15 06:27:06 +02:00
{{$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 ", "}}{{"}"}}
)
type (
2016-09-15 06:20:35 +02:00
// {{$tableNameSingular}}Slice is an alias for a slice of pointers to {{$tableNameSingular}}.
// This should generally be used opposed to []{{$tableNameSingular}}.
{{$tableNameSingular}}Slice []*{{$tableNameSingular}}
{{if not .NoHooks -}}
2016-09-15 06:20:35 +02:00
// {{$tableNameSingular}}Hook is the signature for custom {{$tableNameSingular}} hook methods
{{$tableNameSingular}}Hook func(boil.Executor, *{{$tableNameSingular}}) error
{{- end}}
2016-07-14 07:09:05 +02:00
{{$varNameSingular}}Query struct {
2016-09-15 05:59:55 +02:00
*queries.Query
}
)
2016-09-15 08:03:05 +02:00
// Cache for insert, update and upsert
2016-09-03 21:24:18 +02:00
var (
{{$varNameSingular}}Type = reflect.TypeOf(&{{$tableNameSingular}}{})
2016-09-15 05:59:55 +02:00
{{$varNameSingular}}Mapping = queries.MakeStructMapping({{$varNameSingular}}Type)
{{$varNameSingular}}PrimaryKeyMapping, _ = queries.BindMapping({{$varNameSingular}}Type, {{$varNameSingular}}Mapping, {{$varNameSingular}}PrimaryKeyColumns)
{{$varNameSingular}}InsertCacheMut sync.RWMutex
{{$varNameSingular}}InsertCache = make(map[string]insertCache)
{{$varNameSingular}}UpdateCacheMut sync.RWMutex
{{$varNameSingular}}UpdateCache = make(map[string]updateCache)
2017-03-13 10:55:26 +01:00
{{if ne .DriverName "mssql"}}
2016-09-15 08:03:05 +02:00
{{$varNameSingular}}UpsertCacheMut sync.RWMutex
{{$varNameSingular}}UpsertCache = make(map[string]insertCache)
2017-03-13 10:55:26 +01:00
{{end}}
2016-09-03 21:24:18 +02:00
)
var (
// Force time package dependency for automated UpdatedAt/CreatedAt.
_ = time.Second
// Force bytes in case of primary key column that uses []byte (for relationship compares)
_ = bytes.MinRead
)
2016-09-03 21:47:27 +02:00
{{end -}}