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

藏色散人
풀어 주다: 2021-11-01 16:11:36
앞으로
2611명이 탐색했습니다.

이 글은 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿