This message was deleted.
# 질문
s
This message was deleted.
h
메시지 그대로 언더스코어 두개로 시작하는 필드는 GraphQL Spec 에 의해 예약된 내부 필드로 취급됩니다. 필드를 직접 정의하실 수 없어요.
👍 1
하나만 쓰거나 하셔야 함
k
저희가 따로 지정하여 `__`가 prefix인 타입을 작성하지는 않았습니다. 다만 추측하건대
graphql-tag
를 사용하여
.graphql
스키마 파일들을 스키마로 지정해주고 있습니다. 이 과정에서 stubbing이 자동으로 발생되는 부분이 있을까요?
h
에러 던지는 시점이 makeExecutableSchema 할 때인가요? 그럼 거기 넘긴 타입 정의 어딘가에 __fake 라는 필드가 포함되어 있는 것인데
프린트해서 적어도 어떤 타입에 저 필드가 포함되는지 확인해보셔야 할 것 같아요
k
넵 조언 감사드립니다 🙏 프레임워크 때문인지... 디버깅이 어렵네요 ㅠㅠ 확인해보겠습니다!
h
어떤 프레임워크 쓰시나요
k
parse-server 사용하고 있습니당
h
앗 ㅋㅋ
k
ㅋㅋㅋ
h
Parse 가 이제 GraphQL 도 지원하는건가요
k
저도 레거시에 참여한 것이라서... 정확한 이력은 잘 모르겠네요 허헛,, 제가 참여했을 때는 이미 지원되고 있었습니다
h
지원 자체는 꽤 오래된거 같군요..
일단 Parse 코드 대략 살펴봤을땐 임의로 필드를 만드는 건 없어보여요 아마 Parse schema 자체 어딘가에 그런 이름의 필드가 있는게 아닐까…
k
오... 그것도 한번 확인해보겟습니다. 제가 gql 이 익숙치 않아서 그런데, 서버를 띄울때 발생할만한 에러는 아닌건가요? 서버를 띄우는데는 문제가 없었는데, 실제로 호출할 때 에러가 발생한다고 해서요.
h
그건 이상하네요. 해당 에러는 타입 밸리데이션 규칙이라 선언하는쪽(서버) 에서 에러가 나야합니다
Parse GraphQL 스키마 초기화가 lazy 해서 그런가 봅니다
한번 서버 시작할 때 강제로 초기화를 먼저 해보세요
k
넵 시도해보겠습니다 ㅎㅎㅎ 뭔가 정황상 그게 원인일 것 같아요!
h
이름이 __fake 인거 보면 아마 안쓰고 임시로 만들어둔 필드일테니 찾아서 지우면 해결될거 같아요 ㅋㅋ
s
혹시 추천해주신 시도 방법이 gql 스키마 초기화를 동기적으로 기다린 후에 Parse 서버 시작을 하라는 의미가 맞으실까요? 이전에는 gql 스키마 초기화를 기다리지 않고 Parse 서버를 시작하고 있었습니다..!
h
Copy code
const parseGraphQLServer = new ParseGraphQLServer(parseServer, ...);
parseGraphQLServer.applyGraphQL(app);

const _ = await parseGraphQLServer._getServer(); // <- 요런거
제 예상엔 저거 부르면 바로 터져야 하는데요
k
확인해보니 저희가 사용하는 버전이
5.2.4
버전이더라구요... 해당 버전에서는
_getServer
함수가 추가되어 있지 않았네요 ㅠ 근데 맒씀해주신 것처럼 저희가
5.2.4
버전에서도 스키마 로딩과 서버를 동시에 띄우는 코드로 작성이되어 있어서, 이 부분은 논의후에 수정 혹은 버전 업그레이드를 진행해야 할 것 같습니다. 근데 정말 갑자기 에러가 발생했다는 점은 정말 의아하네요.. 몇 개월간 문제 없다가, 최근 2달 내에 .graphql 파일을 조금씩 추가하며 feature 를 만들었는데 그땐 잘 동작되었거든요..
h
Parse 를 정확히 몰라서 그렇긴 한데
디비에 뭔가 (스키마 메타데이터 따위) 들어있다던가…
🫠 1
지금 뭐가 없다면 잠깐 만들었다 지웠던 필드 중에 있을수도요
s
감사합니다 ㅠㅠ 말씀해주신대로 디비에 스키마 메타데이터가 문제였네요… 이놈의 레거시 프레임워크..