#02. Go - gqlgen 프로젝트 설정하기
2020. 6. 1. 00:15ㆍTutorial & Training/Go
728x90
https://gmyankee.tistory.com/301
이전에 알아본 graphql중에서도 gqlgen을 강조하였기에 당연히 gqlgen을 사용할 것이며,
사실 제가 gqlgen말고 다른건 안써봤습니다!
gqlgen 설정하기
// 저는 overmap 이라는 이름의 저장소로 진행하겠습니다.
// go mod init github.com/[계정명]/[저장소]
go mod init github.com/yankeetube/overmap
go get github.com/99designs/gqlgen
go run github.com/99designs/gqlgen init
// Windows
@DOSKEY gqlgen="go run github.com/99designs/gqlgen"
튜토리얼에 있는 대로 따라하셔도 되지만 그렇게 할 경우 TODO를 진행하게 됩니다.
그래도 Todo가 생깁니다 ㅋ__ㅋ
│ go.mod
│ go.sum
│ gqlgen.yml
│ server.go
│
│
└─graph
│ resolver.go
│ schema.graphqls
│ schema.resolvers.go
│
├─generated
│ generated.go
│
└─model
models_gen.go
init 명령으로 생성하게 되면 위 와 같은 폴더 구조를 가지게 됩니다.
model 폴더의 models_gen은 스키마를 추가/수정 할 경우 init 명령으로 자동생성 해주는데,
GORM을 사용할 경우 https://gmyankee.tistory.com/299
이러한 단점이 존재하기 때문에, 수동으로 수정해야하는 부득이한 경우가 생깁니다.
하지만 init을 할 때마다 사라지니... 이걸 해결하려면
1. 애초부터 DB 컬럼명에대한 고민을 잘 하자! (언더바는 대문자 카멜케이스로 치환되니까... 이건 이렇게...)
2. History를 잘 지원해주는 IDE를 사용하자! (goland는 Jetbrains 제품은 모두 기본적인 history 기능이 빵빵합니다.)
3. Git으로 관리하자...
4. gqlgen.yml을 이용하여 관리하기 (이부분은 저도 따로 진행해보지 않아 공식문서를 참고해보셔야 할 것 같습니다.)
728x90
'Tutorial & Training > Go' 카테고리의 다른 글
#03. GraphQL 프레임워크 어떤 프레임워크를 써야할까? (0) | 2020.12.15 |
---|---|
Django Prefetch와 비교해보는 GORM Preload에 대한 고찰 (0) | 2020.07.05 |
#01.Go - GraphQL 알아보기 (0) | 2020.05.31 |
Go언어 ORM GORM의 크나큰 문제점 (0) | 2020.05.15 |
Go Gorm Preload without order by (0) | 2020.05.13 |