Detaillierte Erklärung, wie xorm automatisch Modelle generiert

藏色散人
Freigeben: 2021-11-01 16:11:36
nach vorne
2596 Leute haben es durchsucht

Dieser Artikel wird in der Tutorial-Kolumne von go language eingeleitet, in der es um die automatische Generierung von Modi mit xorm geht. Ich hoffe, dass er für Freunde hilfreich ist, die ihn benötigen.

Xorm generiert automatisch Modelldateien

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 %
Nach dem Login kopieren

Dann installieren Sie das xorm cmd-Befehlstool.
go get -u github.com/go-sql-driver/mysql
Nach dem Login kopieren

Installieren Sie die cmd-Fehlerbehandlung orm Ordner im Projektverzeichnis


diese Datei Erstellen Sie Konfigurations- und struct.go.tpl-Dateien


Der Inhalt der Vorlage kann entsprechend Ihren eigenen Anforderungen geändert werden

Der Konfigurationsinhalt lautet wie folgt:

go get github.com/go-xorm/xorm
Nach dem Login kopieren

struct.go.tpl-Inhalt lautet wie folgt:


go get github.com/go-xorm/cmd/xorm
Nach dem Login kopieren

Führen Sie abschließend den Befehl ausDas Programm befindet sich im Ordner „Models“ im aktuellen Verzeichnis und generiert die GO-Datei im Ordner „Models“

    Ausführungsfehler
  • 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 %
    Nach dem Login kopieren
  • Lösung
    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 %
    Nach dem Login kopieren
  • Fügen Sie
    lang=go
    genJson=1prefix=
    Nach dem Login kopieren
  • zu ~/.zshrc hinzu, um
    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}}
    Nach dem Login kopieren
    zu überprüfen.
Führen Sie abschließend
xorm reverse mysql root:root@/fox?charset=utf8 templates/goxorm
Nach dem Login kopieren
aus. Noch einmal ausführen Der Rest besteht darin, den Inhalt in Modellen dem entsprechenden Modell zuzuordnen zum Model

    Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie xorm automatisch Modelle generiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Verwandte Etiketten:
    Quelle:learnku.com
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!