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

Penjelasan terperinci tentang cara xorm menjana model secara automatik

藏色散人
Lepaskan: 2021-11-01 16:11:36
ke hadapan
2653 orang telah melayarinya

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 %
Salin selepas log masuk

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

go get -u github.com/go-sql-driver/mysql
Salin selepas log masuk

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

go get github.com/go-xorm/xorm
Salin selepas log masuk

🎜>

go get github.com/go-xorm/cmd/xorm
Salin selepas log masuk
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 %
Salin selepas log masuk

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 %
Salin selepas log masuk

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=
    Salin selepas log masuk
  • 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}}
Salin selepas log masuk
    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
    Salin selepas log masuk

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
Salin selepas log masuk
    Penyelesaian
  • vim ~/.zshrc
    Salin selepas log masuk
  • Tambahkan ~/.zshrc:
  • setopt no_nomatch
    Salin selepas log masuk
  • Semaknya
  • luwei@luweideMacBook-Pro-2 go-simple-task % cat ~/.zshrc                                              
    source ~/.bash_profileexport GOPROXY=https://goproxy.io,direct
    setopt no_nomatch
    Salin selepas log masuk
  • Akhir sekali laksanakan
  • source ~/.zshrc
    Salin selepas log masuk

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 %
Salin selepas log masuk

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!

Label berkaitan:
sumber:learnku.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan