40 lines
1.3 KiB
Cheetah
40 lines
1.3 KiB
Cheetah
package db
|
|
|
|
import (
|
|
"{{ .Name }}/db/model"
|
|
{{ $hasFieldTime := false }}{{ range $idxTbl, $tbl := .DB.Tables }}{{ if $tbl.Values }}{{ $hasFldTime := hasFieldType $tbl.Fields "time" }}{{ if eq $hasFldTime true }}{{ $hasFieldTime = true }}{{ end }}{{ end }}{{ if $hasFieldTime }}"time"{{ end }}{{ end }}
|
|
|
|
uuid "github.com/satori/go.uuid"
|
|
)
|
|
|
|
{{ range $index, $item := .DB.Tables }}{{ if $item.Values }}
|
|
func update{{ fieldNamePrepare $item.Name}}() {
|
|
records := []model.{{ fieldNamePrepare $item.Name }} {
|
|
{{ range $i, $field := $item.Values }}
|
|
{
|
|
{{ range $name, $value := $field }}
|
|
{{ if eq $name "id" }}
|
|
Base: model.Base{
|
|
ID: uuid.FromStringOrNil(`{{ $value }}`),
|
|
},
|
|
{{ end }}
|
|
{{ if ne $name "id" }}{{ fieldNamePrepare $name }}: {{ $fld := fieldInTableByName $name $item }}{{ $fldTypeName := fieldType $fld }}{{ fieldStringToType $value $fld }},{{ end }}
|
|
{{ end }}
|
|
},
|
|
{{ end }}
|
|
}
|
|
|
|
var err error
|
|
|
|
tx := BeginTransation()
|
|
|
|
defer func() {
|
|
EndTransaction(tx, err)
|
|
}()
|
|
|
|
tx.Delete(&model.{{ fieldNamePrepare $item.Name}}{}, "1 = 1")
|
|
if res := tx.Create(&records); res.RowsAffected == 0 {
|
|
panic(err)
|
|
}
|
|
}
|
|
{{ end }}{{ end }} |