>  기사  >  백엔드 개발  >  xorm이 자동으로 모델을 생성하는 방법에 대한 자세한 설명

xorm이 자동으로 모델을 생성하는 방법에 대한 자세한 설명

藏色散人
藏色散人앞으로
2021-11-01 16:10:352599검색

이 글은 go 언어의 튜토리얼 칼럼에서 xorm으로 모드를 자동으로 생성하는 방법을 소개한 글이니 필요한 친구들에게 도움이 되었으면 좋겠습니다!

xorm은 자동으로 모델 파일을 생성합니다

프로젝트 루트 디렉터리를 입력하세요

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 %

go-sql-driver/mysql이 없으면 먼저 설치하세요

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

cmd 명령줄에서 xorm을 설치하세요

go get github.com/go-xorm/xorm

그런 다음 config 및 struct.go.tpl 파일 생성을 위한 cmd 명령 도구를 설치합니다.

템플릿의 내용은 필요에 따라 수정할 수 있습니다.


config의 내용은 다음과 같습니다.

go get github.com/go-xorm/cmd/xorm

내용 struct.go.tpl의 내용은 다음과 같습니다
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 %

마지막으로 명령을 실행합니다프로그램은 현재 디렉터리의 모델 생성 폴더에 있고 모델 폴더에 go 파일을 생성합니다

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 %
  • 실행 오류
lang=go
genJson=1prefix=
  • 솔루션
    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}}
      추가:
    xorm reverse mysql root:root@/fox?charset=utf8 templates/goxorm
  • 를 ~/.zshrc에 추가하여
    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
    를 확인하세요.

    마지막으로
    vim ~/.zshrc
  • 다시 실행
    setopt no_nomatch

    • 나머지는 모델에 콘텐츠를 할당하는 것입니다. 모델에 해당하는 모델로

    위 내용은 xorm이 자동으로 모델을 생성하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제