36 lines
1 KiB
Go
36 lines
1 KiB
Go
package tracking
|
|
|
|
const (
|
|
sql_table = `
|
|
{{- $tablename := or (and .schema (printf "%s.%s" .schema .tablename)) .tablename -}}
|
|
{{- $json := or .jsonType "json" -}}
|
|
create table if not exists {{ $tablename }} (
|
|
trackid {{ or .idType "integer" }} primary key,
|
|
{{ range .headFields -}}{{ ToLower . }} text default '',
|
|
{{ end -}}
|
|
timestamp timestamptz default current_timestamp,
|
|
data {{ $json }}
|
|
);
|
|
|
|
{{- range $i, $cols := .indexes }}
|
|
create index idx_{{ $.tablename }}_{{ Add1 $i }} on {{ $tablename }} (
|
|
{{- range $j, $c := $cols -}}
|
|
{{- if ne $j 0 -}}, {{ end }}{{ ToLower $c }}
|
|
{{- end -}}
|
|
);
|
|
{{- end }}
|
|
create index idx_{{ $.tablename }}_ts on {{ $tablename }} (timestamp);
|
|
`
|
|
|
|
sql_insert = `
|
|
{{- $tablename := or (and .schema (printf "%s.%s" .schema .tablename)) .tablename -}}
|
|
insert into {{ $tablename }} (
|
|
{{- range $j, $c := .columns -}}
|
|
{{- if ne $j 0 -}}, {{ end }}{{ ToLower $c }}
|
|
{{- end -}})
|
|
values (
|
|
{{- range $j, $c := .columns -}}
|
|
{{- if ne $j 0 -}}, {{ end }}${{ $j }}
|
|
{{- end -}})
|
|
`
|
|
)
|