148 lines
2.7 KiB
Cheetah
148 lines
2.7 KiB
Cheetah
// Code generated by "gocqlx/cmd/schemagen"; DO NOT EDIT.
|
|
|
|
package {{.PackageName}}
|
|
|
|
import (
|
|
"github.com/scylladb/gocqlx/v3/table"
|
|
{{- range .Imports}}
|
|
"{{.}}"
|
|
{{- end}}
|
|
)
|
|
|
|
{{with .Tables}}
|
|
// Table models.
|
|
var (
|
|
{{range .}}
|
|
{{$model_name := .Name | camelize}}
|
|
{{$model_name}} = table.New(table.Metadata {
|
|
Name: "{{.Name}}",
|
|
Columns: []string{
|
|
{{- range .OrderedColumns}}
|
|
"{{.}}",
|
|
{{- end}}
|
|
},
|
|
PartKey: []string {
|
|
{{- range .PartitionKey}}
|
|
"{{.Name}}",
|
|
{{- end}}
|
|
},
|
|
SortKey: []string{
|
|
{{- range .ClusteringColumns}}
|
|
"{{.Name}}",
|
|
{{- end}}
|
|
},
|
|
})
|
|
{{end}}
|
|
)
|
|
{{end}}
|
|
|
|
{{with .Views}}
|
|
// Materialized view models.
|
|
var (
|
|
{{- range .}}
|
|
{{$model_name := .ViewName | camelize}}
|
|
{{$model_name}} = table.New(table.Metadata {
|
|
Name: "{{.ViewName}}",
|
|
Columns: []string{
|
|
{{- range .OrderedColumns}}
|
|
"{{.}}",
|
|
{{- end}}
|
|
},
|
|
PartKey: []string {
|
|
{{- range .PartitionKey}}
|
|
"{{.Name}}",
|
|
{{- end}}
|
|
},
|
|
SortKey: []string{
|
|
{{- range .ClusteringColumns}}
|
|
"{{.Name}}",
|
|
{{- end}}
|
|
},
|
|
})
|
|
{{end}}
|
|
)
|
|
{{end}}
|
|
|
|
{{with .Indexes}}
|
|
// Index models.
|
|
var (
|
|
{{range .}}
|
|
{{$model_name := .Name | camelize}}
|
|
{{$model_name}}Index = table.New(table.Metadata {
|
|
Name: "{{.Name}}_index",
|
|
Columns: []string{
|
|
{{- range .OrderedColumns}}
|
|
"{{.}}",
|
|
{{- end}}
|
|
},
|
|
PartKey: []string {
|
|
{{- range .PartitionKey}}
|
|
"{{.Name}}",
|
|
{{- end}}
|
|
},
|
|
SortKey: []string{
|
|
{{- range .ClusteringColumns}}
|
|
"{{.Name}}",
|
|
{{- end}}
|
|
},
|
|
})
|
|
{{end}}
|
|
)
|
|
{{end}}
|
|
|
|
{{with .UserTypes}}
|
|
// User-defined types (UDT) structs.
|
|
{{- range .}}
|
|
{{- $type_name := .Name | camelize}}
|
|
{{- $field_types := .FieldTypes}}
|
|
type {{$type_name}}UserType struct {
|
|
gocqlx.UDT
|
|
{{- range $index, $element := .FieldNames}}
|
|
{{. | camelize}} {{(index $field_types $index) | mapScyllaToGoType}}
|
|
{{- end}}
|
|
}
|
|
{{- end}}
|
|
{{- end}}
|
|
|
|
{{with .Tables}}
|
|
// Table structs.
|
|
{{- range .}}
|
|
{{- $model_name := .Name | camelize}}
|
|
type {{$model_name}}Struct struct {
|
|
{{- range .Columns}}
|
|
{{- if not (eq .Type "empty") }}
|
|
{{.Name | camelize}} {{.Type | mapScyllaToGoType}}
|
|
{{- end}}
|
|
{{- end}}
|
|
}
|
|
{{- end}}
|
|
{{- end}}
|
|
|
|
{{with .Views}}
|
|
// View structs.
|
|
{{- range .}}
|
|
{{- $model_name := .ViewName | camelize}}
|
|
type {{$model_name}}Struct struct {
|
|
{{- range .Columns}}
|
|
{{- if not (eq .Type "empty") }}
|
|
{{.Name | camelize}} {{.Type | mapScyllaToGoType}}
|
|
{{- end}}
|
|
{{- end}}
|
|
}
|
|
{{- end}}
|
|
{{- end}}
|
|
|
|
{{with .Indexes}}
|
|
// Index structs.
|
|
{{- range .}}
|
|
{{- $model_name := .Name | camelize}}
|
|
type {{$model_name}}IndexStruct struct {
|
|
{{- range .Columns}}
|
|
{{- if not (eq .Type "empty") }}
|
|
{{.Name | camelize}} {{.Type | mapScyllaToGoType}}
|
|
{{- end}}
|
|
{{- end}}
|
|
}
|
|
{{- end}}
|
|
{{- end}}
|