Rumah >pembangunan bahagian belakang >Golang >Penjelasan terperinci tentang cara xorm menjana model secara automatik

Penjelasan terperinci tentang cara xorm menjana model secara automatik

藏色散人
藏色散人ke hadapan
2021-11-01 16:10:352650semak imbas

Artikel ini diperkenalkan oleh ruangan tutorial go language untuk memperkenalkan kepada anda kaedah menjana mod secara automatik oleh xorm Saya harap ia dapat membantu rakan-rakan yang memerlukan.

xorm menjana fail model secara automatik

Masukkan direktori akar projek

luwei@luweideMacBook-Pro-2 go-simple-task % pwd/Users/myself/Golang/common_project/src/go-simple-task
luwei@luweideMacBook-Pro-2 go-simple-task % ls
Dockerfile      go-simple-task  go.mod          go.sum          logic           logs            main.go         model           models          overall         serv            templates       tool
luwei@luweideMacBook-Pro-2 go-simple-task %

Jika bukan Go-sql-driver/mysql mula-mula pasang

go get -u github.com/go-sql-driver/mysql

untuk memasang xorm, dan kemudian pasang alat arahan xorm cmd di bawah baris arahan cmd

go get github.com/go-xorm/xorm

🎜>

go get github.com/go-xorm/cmd/xorm
Pengendalian ralat cmd pemasangan


luwei@luweideMacBook-Pro-2 go-simple-task % go get github.com/go-xorm/cmd/xorm
# github.com/go-xorm/cmd/xorm
../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/dump.go:45:26: cannot use "github.com/go-xorm/core".LOG_UNKNOWN (type "github.com/go-xorm/core".LogLevel) as type "xorm.io/core".LogLevel in argument to engine.Logger().SetLevel
../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/reverse.go:246:34: cannot use tables (type []*"xorm.io/core".Table) as type []*"github.com/go-xorm/core".Table in argument to langTmpl.GenImports
../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/reverse.go:254:18: cannot use table (type *"xorm.io/core".Table) as type *"github.com/go-xorm/core".Table in append
../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/reverse.go:291:26: cannot use table (type *"xorm.io/core".Table) as type *"github.com/go-xorm/core".Table in slice literal
../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/shell.go:60:26: cannot use "github.com/go-xorm/core".LOG_UNKNOWN (type "github.com/go-xorm/core".LogLevel) as type "xorm.io/core".LogLevel in argument to engine.Logger().SetLevel
../../pkg/mod/github.com/go-xorm/cmd/xorm@v0.0.0-20190426080617-f87981e709a1/source.go:45:26: cannot use "github.com/go-xorm/core".LOG_UNKNOWN (type "github.com/go-xorm/core".LogLevel) as type "xorm.io/core".LogLevel in argument to engine.Logger().SetLevel
luwei@luweideMacBook-Pro-2 go-simple-task %

Laksanakan keluar daripada direktori projek, dan kemudian lompat semula apabila selesai

luwei@luweideMacBook-Pro-2 go-simple-task % cd ../luwei@luweideMacBook-Pro-2 src % go get github.com/go-xorm/cmd/xorm
luwei@luweideMacBook-Pro-2 src %

Buat templat/folder goxorm dalam direktori projek

    Buat fail konfigurasi dan struct.go.tpl di bawah fail ini.
  • Kandungan templat boleh disesuaikan mengikut keperluan anda Anda perlu mengubah suai
  • kandungan konfigurasi seperti berikut
  • lang=go
    genJson=1prefix=
  • kandungan struct.go.tpl seperti berikut
package {{.Models}}{{$ilen := len .Imports}}{{if gt $ilen 0}}import (
    {{range .Imports}}"{{.}}"{{end}}){{end}}{{range .Tables}}type {{Mapper .Name}} struct {{{$table := .}}{{range .ColumnsSeq}}{{$col := $table.GetColumn .}} {{Mapper $col.Name}}    {{Type $col}} {{Tag $table $col}}{{end}}}{{end}}
    Akhir sekali laksanakan arahan
  • Atur cara akan menjana folder model dalam direktori semasa dan menjana fail go dalam folder model

    xorm reverse mysql root:root@/fox?charset=utf8 templates/goxorm

Ralat pelaksanaan

luwei@luweideMacBook-Pro-2 go-simple-task % xorm reverse mysql root:123456@/bubble?charset=utf8 templates/goxorm
zsh: no matches found: root:123456@/bubble?charset=utf8
    Penyelesaian
  • vim ~/.zshrc
  • Tambahkan ~/.zshrc:
  • setopt no_nomatch
  • Semaknya
  • luwei@luweideMacBook-Pro-2 go-simple-task % cat ~/.zshrc                                              
    source ~/.bash_profileexport GOPROXY=https://goproxy.io,direct
    setopt no_nomatch
  • Akhir sekali laksanakan
  • source ~/.zshrc

dan laksanakan semula

luwei@luweideMacBook-Pro-2 go-simple-task % xorm reverse mysql root:123456@/bubble?charset=utf8 templates/goxorm
luwei@luweideMacBook-Pro-2 go-simple-task %

Penjelasan terperinci tentang cara xorm menjana model secara automatik

Selebihnya ialah Kandungan dalam model diperuntukkan kepada model yang sepadan

Atas ialah kandungan terperinci Penjelasan terperinci tentang cara xorm menjana model secara automatik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:learnku.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam