sdy

create error-repoting.txt file

* 개발 중 발생한 각종 오류에 관한 해결책을 담은 파일
- 1. Prisma 2 migration error ("There are more migrations in the database than locally ~")
https://stackoverflow.com/questions/60691027/prisma2-migrate-error-there-are-more-migrations-in-the-database-than-locally
원인
: DB 의 migration 과 prisma 의 migration 이 서로 불일치 할 때 나타나는 현상
위 원인이 발생하는 상황은 다음의 루트를 따랐기 때문에 발생한다고 볼 수 있다.
1. create migration
: prisma2 migrate save --name "init" --experimental
(Migration 생성)
2. execute migration
prisma2 migrate up --experimental
(migration 실행)
3. delete migration file in prisma/migrations
(prisma 내부 migrations 폴더내의 migration 관련 파일 삭제)
4. try to run below command
prisma2 migrate save --name "new-migration" --experimental
이 프로젝트의 경우엔
처음에 도커 컨테이너를 생성하고 나서,
prisma migrate 로 migration 을 생성해서 이미 관련된 로그 기록이 존재함
DB 의 migration 과 Backend 의 migration 이 서로 일치하지 않아서 생기는 문제 같은데
도커 컨테이너를 지우고 다시 실행하는게 가장 빠른 해결책
(근데 어떨때는 또 migration 이 서로 맞을 때도 있음)
- 2. Resolver Mapping 문제
https://stackoverflow.com/questions/62014031/graphql-always-return-null
원인
: merge-graphql-schemas 모듈을 활용하여 mergeResolvers 함수를 수행할때,
Resolver 형태의 파일이 아닌 다른 형태의 파일이 끼어서, Mapping 이 정상적으로 작동하지 않는 경우
merge 를 할 대상에 속하는 모든 관련 파일들은 전부 Resolver 의 형태를 갖추고 있어야만함.
다른 종류의 파일이 오게 되면, mergeResolver 함수의 리턴 결과가 객체가 아닌 함수로 반환되기 때문에
GraphQL Playground 에서 쿼리문을 실행할때 항상 null 값으로 반환됨
그러므로, 반드시 api 폴더내에는 항상 형식에 맞는 파일만 와야함.
\ No newline at end of file