Hasura의 GraphQL 메모

2901 단어 SQLGraphQLHasura

소개



지난번 Heroku + Hasura에서 GraphQL을 사용하도록 설정했지만,
여러가지 쿼리를 시도하고 있으면 이것이 어떻게 하는가 하는 부분이 몇개 있었으므로 비망록으로서 남깁니다.

앞으로도 쿼리에 대해 발견이 있으면 추기해 나갈 예정입니다.

샘플로 사용한 데이터는 다음 두 테이블입니다.




카운트


XXX_aggregate.aggregate.count 를 사용하여 숫자를 확인할 수 있습니다.



평균·최소값·최대값·분산 등의 통계 연산



카운트와 마찬가지로 XXX_aggregate.aggregate 로 준비되어 있습니다.



Join



employees -> salaries



employees 1 개에 대해서 복수의 salaries 가 존재할 수 있기 (위해)때문에, employees -> salaries 의 Array 릴레이션을 작성합니다.



GraphQL 쿼리 화면에서 employee.salaries를 호출 할 수 있습니다.
이것이 employees -> salaries 의 JOIN 에 대응하는 기능이 되고 있습니다.



salaries -> employees



salaries 1개에 대해 1개의 salaries 가 존재할 수 있기 (위해)때문에, salaries -> employees 의 Object 릴레이션을 작성합니다.



GraphQL 쿼리 화면에서 employee.salaries를 호출 할 수 있습니다.
이것이 salaries -> employees 의 JOIN 에 대응하는 기능이 되고 있습니다.



결론



GraphQL 에서는 JOIN 나 COUNT 등의 처리는 백엔드측이 리졸버라고 하는 것을 작성해 기능의 하나로서 구현할 필요가 있는 것 같습니다.
하지만 Hasura를 사용하면 코드를 작성하지 않고 이러한 기능을 사용할 수 버리기 때문에 두려움이나 ...라는 느낌이었습니다.

좋은 웹페이지 즐겨찾기