mirror of
https://github.com/PokeAPI/pokeapi
synced 2024-11-22 03:13:06 +00:00
Merge pull request #602 from PokeAPI/graphql
This commit is contained in:
commit
d572ea2193
179 changed files with 4951 additions and 68 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -7,3 +7,6 @@ db.*
|
|||
venv*
|
||||
node_modules
|
||||
.vscode
|
||||
.env
|
||||
Resources/nginx/ssl/*
|
||||
!Resources/nginx/ssl/*.sample.*
|
18
Makefile
18
Makefile
|
@ -1,8 +1,10 @@
|
|||
veekun_pokedex_repository = ../pokedex
|
||||
local_config = --settings=config.local
|
||||
docker_config = --settings=config.docker-compose
|
||||
HASURA_GRAPHQL_ADMIN_SECRET=pokemon
|
||||
|
||||
.PHONY: help
|
||||
.SILENT:
|
||||
|
||||
help:
|
||||
@grep -E '^[a-zA-Z_-]+:.*?# .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?# "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
||||
|
@ -81,8 +83,20 @@ pull-veekun:
|
|||
git -C ${veekun_pokedex_repository} checkout master-pokeapi
|
||||
git -C ${veekun_pokedex_repository} pull
|
||||
|
||||
sync-from-veekun: pull pull-veekun # Copy data from ../pokedex to this repository
|
||||
sync-from-veekun: pull pull-veekun # Copy data from ../pokedex to this repository
|
||||
cp -a ${veekun_pokedex_repository}/pokedex/data/csv/. ./data/v2/csv
|
||||
|
||||
sync-to-veekun: pull pull-veekun # Copy data from this repository to ../pokedex
|
||||
sync-to-veekun: pull pull-veekun # Copy data from this repository to ../pokedex
|
||||
cp -a ./data/v2/csv/. ${veekun_pokedex_repository}/pokedex/data/csv
|
||||
|
||||
# read-env-file: # Exports ./.env into shell environment variables
|
||||
# export `egrep -v '^#' .env | xargs`
|
||||
|
||||
hasura-export: # Export Hasura configuration
|
||||
hasura md export --project graphql --admin-secret ${HASURA_GRAPHQL_ADMIN_SECRET}
|
||||
|
||||
hasura-apply: # Apply local Hasura configuration
|
||||
hasura md apply --project graphql --admin-secret ${HASURA_GRAPHQL_ADMIN_SECRET}
|
||||
|
||||
hasura-get-anon-schema: # Dumps GraphQL schema
|
||||
gq http://localhost:8080/v1/graphql --introspect > graphql/schema.graphql
|
||||
|
|
78
README.md
78
README.md
|
@ -18,30 +18,7 @@
|
|||
|
||||
A RESTful API for Pokémon - [pokeapi.co](https://pokeapi.co)
|
||||
|
||||
## Join Us On Slack!
|
||||
|
||||
Have a question or just want to discuss new ideas and improvements? Hit us up on slack. Consider talking with us here before creating new issue.
|
||||
This way we can keep issues here a bit more organized and helpful in the long run. Be excellent to each other :smile:
|
||||
|
||||
[Sign up](https://pokeapi-slack-invite.herokuapp.com/) easily!
|
||||
|
||||
Once you've signed up visit [PokéAPI on Slack](https://pokeapi.slack.com)
|
||||
|
||||
## Official Wrappers
|
||||
|
||||
* Node server-side [PokeAPI/pokedex-promise-v2](https://github.com/PokeAPI/pokedex-promise-v2) | _Auto caching_
|
||||
* Browser client-side [PokeAPI/pokeapi-js-wrapper](https://github.com/PokeAPI/pokeapi-js-wrapper) | _Auto caching_
|
||||
* Java/Kotlin [PokeAPI/pokekotlin](https://github.com/PokeAPI/pokekotlin)
|
||||
* Python 3 [GregHilmes/pokebase](https://github.com/GregHilmes/pokebase) | _Auto caching_
|
||||
* Python 2/3 [PokeAPI/pokepy](https://github.com/PokeAPI/pokepy) | _Auto caching_
|
||||
* PHP [lmerotta/phpokeapi](https://github.com/lmerotta/phpokeapi) | _Auto caching, lazy loading_
|
||||
* Ruby [rdavid1099/poke-api-v2](https://github.com/rdavid1099/poke-api-v2)
|
||||
* .Net Standard [mtrdp642/PokeApiNet](https://github.com/mtrdp642/PokeApiNet) | _Auto caching_
|
||||
* Go [mtslzr/pokeapi-go](https://github.com/mtslzr/pokeapi-go) | _Auto caching_
|
||||
* Dart [prathanbomb/pokedart](https://github.com/prathanbomb/pokedart)
|
||||
* Rust [lunik1/pokerust](https://gitlab.com/lunik1/pokerust) | _Auto caching_
|
||||
* Spring Boot [dlfigueira/spring-pokeapi](https://github.com/dlfigueira/spring-pokeapi) | _Auto caching_
|
||||
* Swift [kinkofer/PokemonAPI](https://github.com/kinkofer/PokemonAPI)
|
||||
> Beta GraphQL support is rolling out! Check out the [GraphQL paragraph](#graphql) for more info.
|
||||
|
||||
## Setup [![pyVersion37](https://img.shields.io/badge/python-3.7-blue.svg)](https://www.python.org/download/releases/3.7/)
|
||||
|
||||
|
@ -81,7 +58,7 @@ from data.v2.build import build_all
|
|||
build_all()
|
||||
```
|
||||
|
||||
Visit [localhost:8000/api/v2/](localhost:8000/api/v2/) to see the running API!
|
||||
Visit [localhost:80/api/v2/](localhost:80/api/v2/) to see the running API!
|
||||
|
||||
Each time the build script is run, it will iterate over each table in the database, wipe it, and rewrite each row using the data found in data/v2/csv.
|
||||
|
||||
|
@ -95,9 +72,9 @@ make wipe_db
|
|||
|
||||
## Docker and Compose
|
||||
|
||||
There is also a multi-container setup, managed by [Docker Compose](https://docs.docker.com/compose/). This setup allow you to deploy a production-like environment, with separate containers for each services.
|
||||
There is also a multi-container setup, managed by [Docker Compose](https://docs.docker.com/compose/). This setup allows you to deploy a production-like environment, with separate containers for each services and is recommended if you need to simply spin up PokeAPI.
|
||||
|
||||
Start everything by simply
|
||||
Start everything by
|
||||
|
||||
```sh
|
||||
make docker-setup
|
||||
|
@ -113,14 +90,59 @@ docker-compose exec -T app sh -c 'echo "from data.v2.build import build_all; bui
|
|||
|
||||
Browse [localhost/api/v2/](http://localhost/api/v2/) or [localhost/api/v2/pokemon/bulbasaur/](http://localhost/api/v2/pokemon/bulbasaur/) on port `80`.
|
||||
|
||||
## GraphQL
|
||||
|
||||
<a href="ttps://github.com/hasura/graphql-engine">
|
||||
<img width="100px" src="https://graphql-engine-cdn.hasura.io/img/powered_by_hasura_blue.svg" />
|
||||
</a>
|
||||
|
||||
When you start PokeAPI with the above docker-compose setup, an [Hasura Engine](https://github.com/hasura/graphql-engine) server is started as well. It's possible to track all the PokeAPI tables and foreign keys by simply
|
||||
|
||||
```sh
|
||||
# hasura cli needs to be installed and available in your $PATH: https://hasura.io/docs/latest/graphql/core/hasura-cli/install-hasura-cli.html
|
||||
# hasura cli's version has to be v2.0.0-alpha.5
|
||||
make hasura-apply
|
||||
```
|
||||
|
||||
When finished browse http://localhost:8080 and you will find the admin console. The GraphQL endpoint will be hosted at http://localhost:8080/v1/graphql.
|
||||
|
||||
A free public GraphiQL console is browsable at the address https://beta.pokeapi.co/graphql/console/. The relative GraphQL endpoint is accessible at https://beta.pokeapi.co/graphql/v1beta
|
||||
|
||||
A set of examples are provided in the directory [/graphql/examples](./graphql/examples) of this repository.
|
||||
|
||||
## Official REST Wrappers
|
||||
|
||||
* Node server-side [PokeAPI/pokedex-promise-v2](https://github.com/PokeAPI/pokedex-promise-v2) | _Auto caching_
|
||||
* Browser client-side [PokeAPI/pokeapi-js-wrapper](https://github.com/PokeAPI/pokeapi-js-wrapper) | _Auto caching_
|
||||
* Java/Kotlin [PokeAPI/pokekotlin](https://github.com/PokeAPI/pokekotlin)
|
||||
* Python 3 [GregHilmes/pokebase](https://github.com/GregHilmes/pokebase) | _Auto caching_
|
||||
* Python 2/3 [PokeAPI/pokepy](https://github.com/PokeAPI/pokepy) | _Auto caching_
|
||||
* PHP [lmerotta/phpokeapi](https://github.com/lmerotta/phpokeapi) | _Auto caching, lazy loading_
|
||||
* Ruby [rdavid1099/poke-api-v2](https://github.com/rdavid1099/poke-api-v2)
|
||||
* .Net Standard [mtrdp642/PokeApiNet](https://github.com/mtrdp642/PokeApiNet) | _Auto caching_
|
||||
* Go [mtslzr/pokeapi-go](https://github.com/mtslzr/pokeapi-go) | _Auto caching_
|
||||
* Dart [prathanbomb/pokedart](https://github.com/prathanbomb/pokedart)
|
||||
* Rust [lunik1/pokerust](https://gitlab.com/lunik1/pokerust) | _Auto caching_
|
||||
* Spring Boot [dlfigueira/spring-pokeapi](https://github.com/dlfigueira/spring-pokeapi) | _Auto caching_
|
||||
* Swift [kinkofer/PokemonAPI](https://github.com/kinkofer/PokemonAPI)
|
||||
|
||||
## Donations
|
||||
|
||||
Help to keep PokéAPI running! If you're using PokéAPI as a teaching resource or for a project, consider sending us a $10 donation to help keep the service up. We get almost 20 million requests a month!
|
||||
Help to keep PokéAPI running! If you're using PokéAPI as a teaching resource or for a project, consider sending us a $10 donation to help keep the service up. We get 60 million requests a month!
|
||||
|
||||
Thank you to all our backers! [Become a backer](https://opencollective.com/pokeapi#backer)
|
||||
|
||||
<a href="https://opencollective.com/pokeapi#backers" target="_blank"><img src="https://opencollective.com/pokeapi/backers.svg?width=890"></a>
|
||||
|
||||
## Join Us On Slack!
|
||||
|
||||
Have a question or just want to discuss new ideas and improvements? Hit us up on slack. Consider talking with us here before creating new issue.
|
||||
This way we can keep issues here a bit more organized and helpful in the long run. Be excellent to each other :smile:
|
||||
|
||||
[Sign up](https://pokeapi-slack-invite.herokuapp.com/) easily!
|
||||
|
||||
Once you've signed up visit [PokéAPI on Slack](https://pokeapi.slack.com)
|
||||
|
||||
## Contributing
|
||||
|
||||
This project exists thanks to all the people who [contribute](https://github.com/PokeAPI/pokeapi/blob/master/CONTRIBUTING.md)
|
||||
|
|
31
Resources/compose/docker-compose-prod-graphql.yml
Normal file
31
Resources/compose/docker-compose-prod-graphql.yml
Normal file
|
@ -0,0 +1,31 @@
|
|||
version: '2.4'
|
||||
services:
|
||||
db:
|
||||
environment:
|
||||
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
|
||||
POSTGRES_USER: "${POSTGRES_USER}"
|
||||
|
||||
app:
|
||||
env_file: .env
|
||||
|
||||
web:
|
||||
volumes:
|
||||
- graphiql:/public-console:ro
|
||||
|
||||
graphql-engine:
|
||||
environment:
|
||||
HASURA_GRAPHQL_DATABASE_URL: "postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/pokeapi"
|
||||
HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}"
|
||||
|
||||
graphiql:
|
||||
image: pokeapi/graphiql:1.0.1
|
||||
command: sh -c 'cp -a /app/static/. /transfer/ && tail -f /etc/passwd'
|
||||
volumes:
|
||||
- graphiql:/transfer
|
||||
depends_on:
|
||||
- graphql-engine
|
||||
|
||||
volumes:
|
||||
graphiql:
|
||||
|
||||
# docker-compose -f docker-compose.yml -f Resources/compose/docker-compose-graphql.yml up
|
|
@ -1,2 +0,0 @@
|
|||
FROM nginx:alpine
|
||||
COPY ./nginx/nginx.conf /etc/nginx/nginx.conf
|
|
@ -1,7 +1,7 @@
|
|||
worker_processes 4; # 80$ droplet, so 4 core enabled
|
||||
worker_processes 2;
|
||||
|
||||
events {
|
||||
worker_connections 8096; # accepted incoming connections*2
|
||||
worker_connections 4096;
|
||||
multi_accept on; # accept each connection as soon as you can
|
||||
accept_mutex off;
|
||||
use epoll;
|
||||
|
@ -17,7 +17,7 @@ http {
|
|||
|
||||
client_body_buffer_size 10K; # raise the threshold by which requests are written to HDD instead of RAM
|
||||
client_header_buffer_size 2k;
|
||||
client_max_body_size 8m; # we dont accept requests larger that 8mb, probably you are DoSing us
|
||||
client_max_body_size 8m; # we dont accept requests larger that 8mb
|
||||
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
|
@ -25,57 +25,95 @@ http {
|
|||
|
||||
keepalive_timeout 5;
|
||||
|
||||
gzip on; # enable zipping files
|
||||
gzip_vary on;
|
||||
gzip_min_length 5120; # enable it only for medium-big files (slowbro size is 7000)
|
||||
gzip_proxied expired no-cache no-store private auth;
|
||||
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml application/json;
|
||||
gzip on;
|
||||
gzip_disable "msi6";
|
||||
gzip_vary on;
|
||||
gzip_proxied any;
|
||||
gzip_comp_level 6;
|
||||
gzip_buffers 16 8k;
|
||||
gzip_http_version 1.1;
|
||||
gzip_min_length 256;
|
||||
gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/xhtml+xml application/xml font/eot font/otf font/ttf image/svg+xml text/css text/javascript text/plain text/xml;
|
||||
|
||||
upstream pokeapi_upstream {
|
||||
# 'app' is the Django container name in Docker
|
||||
# DO NOT EDIT IT ALONE or it'll break docker-compose
|
||||
server app:8000 fail_timeout=0;
|
||||
}
|
||||
|
||||
upstream graphql_upstream {
|
||||
server graphql-engine:8080 fail_timeout=0;
|
||||
}
|
||||
|
||||
geo $limit {
|
||||
default 1;
|
||||
10.0.0.0/8 0;
|
||||
192.168.0.0/24 0;
|
||||
}
|
||||
|
||||
map $limit $limit_key {
|
||||
0 "";
|
||||
1 $binary_remote_addr;
|
||||
}
|
||||
|
||||
limit_req_zone $limit_key zone=graphqlDefaultLimit:50m rate=1r/m;
|
||||
limit_conn_zone $binary_remote_addr zone=addr:20m;
|
||||
|
||||
server {
|
||||
listen 80 deferred;
|
||||
server_name _;
|
||||
root /code;
|
||||
|
||||
include /ssl/ssl.conf*;
|
||||
|
||||
client_body_timeout 5s;
|
||||
client_header_timeout 5s;
|
||||
limit_conn addr 10;
|
||||
|
||||
root /code;
|
||||
|
||||
location /media/ {
|
||||
root /code;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
location /static/ {
|
||||
alias /code/assets/;
|
||||
autoindex off;
|
||||
}
|
||||
|
||||
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ { # cache all these extensions for 5 days, disable logging
|
||||
access_log off;
|
||||
log_not_found off;
|
||||
expires 5d;
|
||||
# Admin console
|
||||
location /graphql/admin/ {
|
||||
expires 1m; # client-side caching, one minute for each API resource
|
||||
add_header Cache-Control "public";
|
||||
add_header Pragma public;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_redirect off;
|
||||
proxy_pass http://graphql_upstream/;
|
||||
}
|
||||
|
||||
location /graphql/console {
|
||||
alias /public-console/;
|
||||
index index.html;
|
||||
try_files $uri $uri/ /index.html =405;
|
||||
}
|
||||
|
||||
location /graphql/v1beta {
|
||||
limit_req zone=graphqlDefaultLimit burst=100 nodelay;
|
||||
limit_req_status 429;
|
||||
expires 1m; # client-side caching, one minute for each API resource
|
||||
add_header Cache-Control "public";
|
||||
add_header Pragma public;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_redirect off;
|
||||
proxy_pass http://graphql_upstream/v1/graphql;
|
||||
}
|
||||
|
||||
location /api/ {
|
||||
expires 1m; # client-side caching, one minute for each API resource
|
||||
add_header Cache-Control "public";
|
||||
add_header Pragma public;
|
||||
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header Host $http_host;
|
||||
|
||||
proxy_redirect off;
|
||||
|
||||
proxy_pass http://pokeapi_upstream;
|
||||
}
|
||||
|
||||
|
@ -83,9 +121,7 @@ http {
|
|||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header Host $http_host;
|
||||
|
||||
proxy_redirect off;
|
||||
|
||||
proxy_pass http://pokeapi_upstream;
|
||||
}
|
||||
}
|
||||
|
|
14
Resources/nginx/ssl/ssh.sample.conf
Normal file
14
Resources/nginx/ssl/ssh.sample.conf
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Copy this file to ssl.conf, add certificate and private key to enable ssl
|
||||
|
||||
listen 443 ssl http2;
|
||||
listen [::]:443 ssl http2;
|
||||
|
||||
ssl_certificate /ssl/cert.cer;
|
||||
ssl_certificate_key /ssl/key.key;
|
||||
ssl_session_timeout 1d;
|
||||
ssl_session_cache shared:MozSSL:10m;
|
||||
ssl_session_tickets off;
|
||||
|
||||
ssl_protocols TLSv1.2 TLSv1.3;
|
||||
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
|
||||
ssl_prefer_server_ciphers off;
|
11
apollo.config.js
Normal file
11
apollo.config.js
Normal file
|
@ -0,0 +1,11 @@
|
|||
module.exports = {
|
||||
client: {
|
||||
service: {
|
||||
name: "pokeapi",
|
||||
url: "http://localhost:8080/v1/graphql",
|
||||
headers: {
|
||||
"x-hasura-admin-secret": "pokemon",
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
|
@ -1,12 +1,13 @@
|
|||
# Docker settings
|
||||
import os
|
||||
from .settings import *
|
||||
|
||||
DATABASES = {
|
||||
"default": {
|
||||
"ENGINE": "django.db.backends.postgresql_psycopg2",
|
||||
"NAME": "pokeapi",
|
||||
"USER": "ash",
|
||||
"PASSWORD": "pokemon",
|
||||
"USER": os.environ.get("POSTGRES_USER", "ash"),
|
||||
"PASSWORD": os.environ.get("POSTGRES_PASSWORD", "pokemon"),
|
||||
"HOST": "db",
|
||||
"PORT": 5432,
|
||||
}
|
||||
|
@ -25,3 +26,5 @@ CACHES = {
|
|||
|
||||
DEBUG = False
|
||||
TASTYPIE_FULL_DEBUG = False
|
||||
|
||||
ALLOWED_HOSTS = ["*"]
|
||||
|
|
|
@ -4,6 +4,7 @@ services:
|
|||
image: redis:alpine
|
||||
volumes:
|
||||
- redis_data:/data
|
||||
restart: always
|
||||
|
||||
db:
|
||||
image: postgres
|
||||
|
@ -13,6 +14,7 @@ services:
|
|||
POSTGRES_DB: 'pokeapi'
|
||||
volumes:
|
||||
- pg_data:/var/lib/postgresql/data
|
||||
restart: always
|
||||
|
||||
app:
|
||||
build:
|
||||
|
@ -26,19 +28,40 @@ services:
|
|||
depends_on:
|
||||
- db
|
||||
- cache
|
||||
restart: always
|
||||
|
||||
web:
|
||||
build:
|
||||
context: ./Resources
|
||||
dockerfile: ./docker/web/Dockerfile
|
||||
image: nginx:alpine
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
restart: always
|
||||
# command: [nginx-debug, '-g', 'daemon off;']
|
||||
volumes:
|
||||
- ./Resources/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
- ./Resources/nginx/ssl:/ssl:ro
|
||||
volumes_from:
|
||||
- app:ro
|
||||
links:
|
||||
- app
|
||||
|
||||
graphql-engine:
|
||||
image: hasura/graphql-engine:v2.0.0-alpha.5
|
||||
ports:
|
||||
- "8080:8080"
|
||||
depends_on:
|
||||
- "db"
|
||||
restart: always
|
||||
environment:
|
||||
HASURA_GRAPHQL_DATABASE_URL: postgres://ash:pokemon@db:5432/pokeapi
|
||||
HASURA_GRAPHQL_ENABLE_CONSOLE: "true"
|
||||
HASURA_GRAPHQL_DEV_MODE: "false"
|
||||
HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
|
||||
HASURA_GRAPHQL_ADMIN_SECRET: pokemon
|
||||
HASURA_GRAPHQL_UNAUTHORIZED_ROLE: anon
|
||||
HASURA_GRAPHQL_ENABLE_TELEMETRY: "false"
|
||||
# HASURA_GRAPHQL_CONSOLE_ASSETS_DIR: /srv/console-assets
|
||||
|
||||
volumes:
|
||||
pg_data:
|
||||
redis_data:
|
||||
|
|
6
graphql/config.yaml
Normal file
6
graphql/config.yaml
Normal file
|
@ -0,0 +1,6 @@
|
|||
version: 3
|
||||
endpoint: http://localhost:8080
|
||||
metadata_directory: metadata
|
||||
actions:
|
||||
kind: synchronous
|
||||
handler_webhook_baseurl: http://localhost:3000
|
26
graphql/examples/alola_road_encounters.gql
Normal file
26
graphql/examples/alola_road_encounters.gql
Normal file
|
@ -0,0 +1,26 @@
|
|||
"""
|
||||
Finds Pokemons in Alola that evolve when you are in a particular location.
|
||||
|
||||
Variables:
|
||||
{
|
||||
"region": "alola"
|
||||
}
|
||||
"""
|
||||
|
||||
query location_evolutions_in_alola($region: String) {
|
||||
region: pokemon_v2_region(where: {name: {_eq: $region}}) {
|
||||
name
|
||||
location: pokemon_v2_locations_aggregate(where: {pokemon_v2_pokemonevolutions: {id: {_is_null: false}}}) {
|
||||
nodes {
|
||||
name
|
||||
evolutions: pokemon_v2_pokemonevolutions_aggregate {
|
||||
nodes {
|
||||
species: pokemon_v2_pokemonspecy {
|
||||
name
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
35
graphql/examples/best_poison_grass_pokemon.gql
Normal file
35
graphql/examples/best_poison_grass_pokemon.gql
Normal file
|
@ -0,0 +1,35 @@
|
|||
"""
|
||||
Returns the strongest 3 grass and poison pokemon. It uses thier stats to compute their strenght.
|
||||
"""
|
||||
|
||||
query best_grass_poison_pokemons {
|
||||
pokemon: pokemon_v2_pokemon(
|
||||
where: {
|
||||
_and: [
|
||||
{
|
||||
pokemon_v2_pokemontypes: {
|
||||
pokemon_v2_type: { name: { _eq: "grass" } }
|
||||
}
|
||||
}
|
||||
{
|
||||
pokemon_v2_pokemontypes: {
|
||||
pokemon_v2_type: { name: { _eq: "poison" } }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
order_by: {
|
||||
pokemon_v2_pokemonstats_aggregate: { sum: { base_stat: desc } }
|
||||
}
|
||||
limit: 3
|
||||
) {
|
||||
name
|
||||
stats: pokemon_v2_pokemonstats_aggregate(order_by: {}) {
|
||||
aggregate {
|
||||
sum {
|
||||
base_stat
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
17
graphql/examples/gen3_species.gql
Normal file
17
graphql/examples/gen3_species.gql
Normal file
|
@ -0,0 +1,17 @@
|
|||
query samplePokeAPIquery {
|
||||
# Gets all the pokemon belonging to generation 3
|
||||
gen3_species: pokemon_v2_pokemonspecies(where: {pokemon_v2_generation: {name: {_eq: "generation-iii"}}}, order_by: {id: asc}) {
|
||||
name
|
||||
id
|
||||
}
|
||||
# You can run multiple queries at the same time
|
||||
# Counts how many pokemon where release for each generation
|
||||
generations: pokemon_v2_generation {
|
||||
name
|
||||
pokemon_species: pokemon_v2_pokemonspecies_aggregate {
|
||||
aggregate {
|
||||
count
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
14
graphql/examples/package.json
Normal file
14
graphql/examples/package.json
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"name": "examples",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "''",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"node-fetch": "^2.6.1"
|
||||
}
|
||||
}
|
127
graphql/examples/pokemon.js
Normal file
127
graphql/examples/pokemon.js
Normal file
|
@ -0,0 +1,127 @@
|
|||
/*
|
||||
Get's many details about Staryu.
|
||||
|
||||
It gets:
|
||||
- happiness
|
||||
- if legendary/mythical
|
||||
- generation
|
||||
- habitat
|
||||
- height
|
||||
- weight
|
||||
- ID
|
||||
- abilities
|
||||
- stats
|
||||
- types
|
||||
- learnable moves by leveling up
|
||||
- in how many locations it can be found
|
||||
- holdable items in Fire Red
|
||||
- flavor text
|
||||
*/
|
||||
|
||||
// Node doesn't implement fetch so we have to import it
|
||||
const fetch =require("node-fetch");
|
||||
|
||||
async function fetchGraphQL(operationsDoc, operationName, variables) {
|
||||
const result = await fetch(
|
||||
"http://localhost:80/graphql/v1beta",
|
||||
{
|
||||
method: "POST",
|
||||
body: JSON.stringify({
|
||||
query: operationsDoc,
|
||||
variables: variables,
|
||||
operationName: operationName
|
||||
})
|
||||
}
|
||||
);
|
||||
|
||||
return await result.json();
|
||||
}
|
||||
|
||||
const operationsDoc = `
|
||||
query pokemon_details {
|
||||
species: pokemon_v2_pokemonspecies(where: {name: {_eq: "staryu"}}) {
|
||||
name
|
||||
base_happiness
|
||||
is_legendary
|
||||
is_mythical
|
||||
generation: pokemon_v2_generation {
|
||||
name
|
||||
}
|
||||
habitat: pokemon_v2_pokemonhabitat {
|
||||
name
|
||||
}
|
||||
pokemon: pokemon_v2_pokemons_aggregate(limit: 1) {
|
||||
nodes {
|
||||
height
|
||||
name
|
||||
id
|
||||
weight
|
||||
abilities: pokemon_v2_pokemonabilities_aggregate {
|
||||
nodes {
|
||||
ability: pokemon_v2_ability {
|
||||
name
|
||||
}
|
||||
}
|
||||
}
|
||||
stats: pokemon_v2_pokemonstats {
|
||||
base_stat
|
||||
stat: pokemon_v2_stat {
|
||||
name
|
||||
}
|
||||
}
|
||||
types: pokemon_v2_pokemontypes {
|
||||
slot
|
||||
type: pokemon_v2_type {
|
||||
name
|
||||
}
|
||||
}
|
||||
levelUpMoves: pokemon_v2_pokemonmoves_aggregate(where: {pokemon_v2_movelearnmethod: {name: {_eq: "level-up"}}}, distinct_on: move_id) {
|
||||
nodes {
|
||||
move: pokemon_v2_move {
|
||||
name
|
||||
}
|
||||
level
|
||||
}
|
||||
}
|
||||
foundInAsManyPlaces: pokemon_v2_encounters_aggregate {
|
||||
aggregate {
|
||||
count
|
||||
}
|
||||
}
|
||||
fireRedItems: pokemon_v2_pokemonitems(where: {pokemon_v2_version: {name: {_eq: "firered"}}}) {
|
||||
pokemon_v2_item {
|
||||
name
|
||||
cost
|
||||
}
|
||||
rarity
|
||||
}
|
||||
}
|
||||
}
|
||||
flavorText: pokemon_v2_pokemonspeciesflavortexts(where: {pokemon_v2_language: {name: {_eq: "en"}}, pokemon_v2_version: {name: {_eq: "firered"}}}) {
|
||||
flavor_text
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
function fetchPokemon_details() {
|
||||
return fetchGraphQL(
|
||||
operationsDoc,
|
||||
"pokemon_details",
|
||||
{}
|
||||
);
|
||||
}
|
||||
|
||||
async function startFetchPokemon_details() {
|
||||
const { errors, data } = await fetchPokemon_details();
|
||||
|
||||
if (errors) {
|
||||
// handle those errors like a pro
|
||||
console.error(errors);
|
||||
}
|
||||
|
||||
// do something great with this precious data
|
||||
console.log(data);
|
||||
}
|
||||
|
||||
startFetchPokemon_details();
|
2
graphql/metadata/actions.graphql
Normal file
2
graphql/metadata/actions.graphql
Normal file
|
@ -0,0 +1,2 @@
|
|||
|
||||
|
6
graphql/metadata/actions.yaml
Normal file
6
graphql/metadata/actions.yaml
Normal file
|
@ -0,0 +1,6 @@
|
|||
actions: []
|
||||
custom_types:
|
||||
enums: []
|
||||
input_objects: []
|
||||
objects: []
|
||||
scalars: []
|
1
graphql/metadata/allow_list.yaml
Normal file
1
graphql/metadata/allow_list.yaml
Normal file
|
@ -0,0 +1 @@
|
|||
[]
|
1
graphql/metadata/cron_triggers.yaml
Normal file
1
graphql/metadata/cron_triggers.yaml
Normal file
|
@ -0,0 +1 @@
|
|||
[]
|
12
graphql/metadata/databases/databases.yaml
Normal file
12
graphql/metadata/databases/databases.yaml
Normal file
|
@ -0,0 +1,12 @@
|
|||
- name: default
|
||||
kind: postgres
|
||||
configuration:
|
||||
connection_info:
|
||||
database_url:
|
||||
from_env: HASURA_GRAPHQL_DATABASE_URL
|
||||
pool_settings:
|
||||
idle_timeout: 180
|
||||
max_connections: 50
|
||||
retries: 1
|
||||
tables: "!include default\\tables\\tables.yaml"
|
||||
functions: "!include default\\functions\\functions.yaml"
|
|
@ -0,0 +1 @@
|
|||
[]
|
|
@ -0,0 +1,50 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_abilitychanges
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: ability_id
|
||||
table:
|
||||
name: pokemon_v2_abilitychange
|
||||
schema: public
|
||||
- name: pokemon_v2_abilityeffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: ability_id
|
||||
table:
|
||||
name: pokemon_v2_abilityeffecttext
|
||||
schema: public
|
||||
- name: pokemon_v2_abilityflavortexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: ability_id
|
||||
table:
|
||||
name: pokemon_v2_abilityflavortext
|
||||
schema: public
|
||||
- name: pokemon_v2_abilitynames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: ability_id
|
||||
table:
|
||||
name: pokemon_v2_abilityname
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonabilities
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: ability_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonability
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_generation
|
||||
using:
|
||||
foreign_key_constraint_on: generation_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_ability
|
||||
schema: public
|
|
@ -0,0 +1,25 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_abilitychangeeffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: ability_change_id
|
||||
table:
|
||||
name: pokemon_v2_abilitychangeeffecttext
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_ability
|
||||
using:
|
||||
foreign_key_constraint_on: ability_id
|
||||
- name: pokemon_v2_versiongroup
|
||||
using:
|
||||
foreign_key_constraint_on: version_group_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_abilitychange
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_abilitychange
|
||||
using:
|
||||
foreign_key_constraint_on: ability_change_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_abilitychangeeffecttext
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_ability
|
||||
using:
|
||||
foreign_key_constraint_on: ability_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_abilityeffecttext
|
||||
schema: public
|
|
@ -0,0 +1,20 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_ability
|
||||
using:
|
||||
foreign_key_constraint_on: ability_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
- name: pokemon_v2_versiongroup
|
||||
using:
|
||||
foreign_key_constraint_on: version_group_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_abilityflavortext
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_ability
|
||||
using:
|
||||
foreign_key_constraint_on: ability_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_abilityname
|
||||
schema: public
|
|
@ -0,0 +1,28 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_berryflavormaps
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: berry_id
|
||||
table:
|
||||
name: pokemon_v2_berryflavormap
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_berryfirmness
|
||||
using:
|
||||
foreign_key_constraint_on: berry_firmness_id
|
||||
- name: pokemon_v2_item
|
||||
using:
|
||||
foreign_key_constraint_on: item_id
|
||||
- name: pokemon_v2_type
|
||||
using:
|
||||
foreign_key_constraint_on: natural_gift_type_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_berry
|
||||
schema: public
|
|
@ -0,0 +1,25 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_berries
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: berry_firmness_id
|
||||
table:
|
||||
name: pokemon_v2_berry
|
||||
schema: public
|
||||
- name: pokemon_v2_berryfirmnessnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: berry_firmness_id
|
||||
table:
|
||||
name: pokemon_v2_berryfirmnessname
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_berryfirmness
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_berryfirmness
|
||||
using:
|
||||
foreign_key_constraint_on: berry_firmness_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_berryfirmnessname
|
||||
schema: public
|
|
@ -0,0 +1,43 @@
|
|||
array_relationships:
|
||||
- name: pokemonV2NaturesByLikesFlavorId
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: likes_flavor_id
|
||||
table:
|
||||
name: pokemon_v2_nature
|
||||
schema: public
|
||||
- name: pokemon_v2_berryflavormaps
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: berry_flavor_id
|
||||
table:
|
||||
name: pokemon_v2_berryflavormap
|
||||
schema: public
|
||||
- name: pokemon_v2_berryflavornames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: berry_flavor_id
|
||||
table:
|
||||
name: pokemon_v2_berryflavorname
|
||||
schema: public
|
||||
- name: pokemon_v2_natures
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: hates_flavor_id
|
||||
table:
|
||||
name: pokemon_v2_nature
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_contesttype
|
||||
using:
|
||||
foreign_key_constraint_on: contest_type_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_berryflavor
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_berry
|
||||
using:
|
||||
foreign_key_constraint_on: berry_id
|
||||
- name: pokemon_v2_berryflavor
|
||||
using:
|
||||
foreign_key_constraint_on: berry_flavor_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_berryflavormap
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_berryflavor
|
||||
using:
|
||||
foreign_key_constraint_on: berry_flavor_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_berryflavorname
|
||||
schema: public
|
|
@ -0,0 +1,22 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_characteristicdescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: characteristic_id
|
||||
table:
|
||||
name: pokemon_v2_characteristicdescription
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_stat
|
||||
using:
|
||||
foreign_key_constraint_on: stat_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_characteristic
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_characteristic
|
||||
using:
|
||||
foreign_key_constraint_on: characteristic_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_characteristicdescription
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemonV2MoveBySecondMoveId
|
||||
using:
|
||||
foreign_key_constraint_on: second_move_id
|
||||
- name: pokemon_v2_move
|
||||
using:
|
||||
foreign_key_constraint_on: first_move_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_contestcombo
|
||||
schema: public
|
|
@ -0,0 +1,32 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_contesteffecteffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: contest_effect_id
|
||||
table:
|
||||
name: pokemon_v2_contesteffecteffecttext
|
||||
schema: public
|
||||
- name: pokemon_v2_contesteffectflavortexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: contest_effect_id
|
||||
table:
|
||||
name: pokemon_v2_contesteffectflavortext
|
||||
schema: public
|
||||
- name: pokemon_v2_moves
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: contest_effect_id
|
||||
table:
|
||||
name: pokemon_v2_move
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_contesteffect
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_contesteffect
|
||||
using:
|
||||
foreign_key_constraint_on: contest_effect_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_contesteffecteffecttext
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_contesteffect
|
||||
using:
|
||||
foreign_key_constraint_on: contest_effect_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_contesteffectflavortext
|
||||
schema: public
|
|
@ -0,0 +1,32 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_berryflavors
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: contest_type_id
|
||||
table:
|
||||
name: pokemon_v2_berryflavor
|
||||
schema: public
|
||||
- name: pokemon_v2_contesttypenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: contest_type_id
|
||||
table:
|
||||
name: pokemon_v2_contesttypename
|
||||
schema: public
|
||||
- name: pokemon_v2_moves
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: contest_type_id
|
||||
table:
|
||||
name: pokemon_v2_move
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_contesttype
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_contesttype
|
||||
using:
|
||||
foreign_key_constraint_on: contest_type_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_contesttypename
|
||||
schema: public
|
|
@ -0,0 +1,25 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_egggroupnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: egg_group_id
|
||||
table:
|
||||
name: pokemon_v2_egggroupname
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonegggroups
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: egg_group_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonegggroup
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_egggroup
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_egggroup
|
||||
using:
|
||||
foreign_key_constraint_on: egg_group_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_egggroupname
|
||||
schema: public
|
|
@ -0,0 +1,31 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_encounterconditionvaluemaps
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: encounter_id
|
||||
table:
|
||||
name: pokemon_v2_encounterconditionvaluemap
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_encounterslot
|
||||
using:
|
||||
foreign_key_constraint_on: encounter_slot_id
|
||||
- name: pokemon_v2_locationarea
|
||||
using:
|
||||
foreign_key_constraint_on: location_area_id
|
||||
- name: pokemon_v2_pokemon
|
||||
using:
|
||||
foreign_key_constraint_on: pokemon_id
|
||||
- name: pokemon_v2_version
|
||||
using:
|
||||
foreign_key_constraint_on: version_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_encounter
|
||||
schema: public
|
|
@ -0,0 +1,25 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_encounterconditionnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: encounter_condition_id
|
||||
table:
|
||||
name: pokemon_v2_encounterconditionname
|
||||
schema: public
|
||||
- name: pokemon_v2_encounterconditionvalues
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: encounter_condition_id
|
||||
table:
|
||||
name: pokemon_v2_encounterconditionvalue
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_encountercondition
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_encountercondition
|
||||
using:
|
||||
foreign_key_constraint_on: encounter_condition_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_encounterconditionname
|
||||
schema: public
|
|
@ -0,0 +1,29 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_encounterconditionvaluemaps
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: encounter_condition_value_id
|
||||
table:
|
||||
name: pokemon_v2_encounterconditionvaluemap
|
||||
schema: public
|
||||
- name: pokemon_v2_encounterconditionvaluenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: encounter_condition_value_id
|
||||
table:
|
||||
name: pokemon_v2_encounterconditionvaluename
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_encountercondition
|
||||
using:
|
||||
foreign_key_constraint_on: encounter_condition_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_encounterconditionvalue
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_encounter
|
||||
using:
|
||||
foreign_key_constraint_on: encounter_id
|
||||
- name: pokemon_v2_encounterconditionvalue
|
||||
using:
|
||||
foreign_key_constraint_on: encounter_condition_value_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_encounterconditionvaluemap
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_encounterconditionvalue
|
||||
using:
|
||||
foreign_key_constraint_on: encounter_condition_value_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_encounterconditionvaluename
|
||||
schema: public
|
|
@ -0,0 +1,32 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_encountermethodnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: encounter_method_id
|
||||
table:
|
||||
name: pokemon_v2_encountermethodname
|
||||
schema: public
|
||||
- name: pokemon_v2_encounterslots
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: encounter_method_id
|
||||
table:
|
||||
name: pokemon_v2_encounterslot
|
||||
schema: public
|
||||
- name: pokemon_v2_locationareaencounterrates
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: encounter_method_id
|
||||
table:
|
||||
name: pokemon_v2_locationareaencounterrate
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_encountermethod
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_encountermethod
|
||||
using:
|
||||
foreign_key_constraint_on: encounter_method_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_encountermethodname
|
||||
schema: public
|
|
@ -0,0 +1,25 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_encounters
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: encounter_slot_id
|
||||
table:
|
||||
name: pokemon_v2_encounter
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_encountermethod
|
||||
using:
|
||||
foreign_key_constraint_on: encounter_method_id
|
||||
- name: pokemon_v2_versiongroup
|
||||
using:
|
||||
foreign_key_constraint_on: version_group_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_encounterslot
|
||||
schema: public
|
|
@ -0,0 +1,22 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_pokemonspecies
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: evolution_chain_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonspecies
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_item
|
||||
using:
|
||||
foreign_key_constraint_on: baby_trigger_item_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_evolutionchain
|
||||
schema: public
|
|
@ -0,0 +1,25 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_evolutiontriggernames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: evolution_trigger_id
|
||||
table:
|
||||
name: pokemon_v2_evolutiontriggername
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonevolutions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: evolution_trigger_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonevolution
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_evolutiontrigger
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_evolutiontrigger
|
||||
using:
|
||||
foreign_key_constraint_on: evolution_trigger_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_evolutiontriggername
|
||||
schema: public
|
|
@ -0,0 +1,14 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_growthrate
|
||||
using:
|
||||
foreign_key_constraint_on: growth_rate_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_experience
|
||||
schema: public
|
|
@ -0,0 +1,18 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_pokemonevolutions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: gender_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonevolution
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_gender
|
||||
schema: public
|
|
@ -0,0 +1,92 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_abilities
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: generation_id
|
||||
table:
|
||||
name: pokemon_v2_ability
|
||||
schema: public
|
||||
- name: pokemon_v2_generationnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: generation_id
|
||||
table:
|
||||
name: pokemon_v2_generationname
|
||||
schema: public
|
||||
- name: pokemon_v2_itemgameindices
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: generation_id
|
||||
table:
|
||||
name: pokemon_v2_itemgameindex
|
||||
schema: public
|
||||
- name: pokemon_v2_locationgameindices
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: generation_id
|
||||
table:
|
||||
name: pokemon_v2_locationgameindex
|
||||
schema: public
|
||||
- name: pokemon_v2_moves
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: generation_id
|
||||
table:
|
||||
name: pokemon_v2_move
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonformgenerations
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: generation_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonformgeneration
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonspecies
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: generation_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonspecies
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemontypepasts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: generation_id
|
||||
table:
|
||||
name: pokemon_v2_pokemontypepast
|
||||
schema: public
|
||||
- name: pokemon_v2_typegameindices
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: generation_id
|
||||
table:
|
||||
name: pokemon_v2_typegameindex
|
||||
schema: public
|
||||
- name: pokemon_v2_types
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: generation_id
|
||||
table:
|
||||
name: pokemon_v2_type
|
||||
schema: public
|
||||
- name: pokemon_v2_versiongroups
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: generation_id
|
||||
table:
|
||||
name: pokemon_v2_versiongroup
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_region
|
||||
using:
|
||||
foreign_key_constraint_on: region_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_generation
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_generation
|
||||
using:
|
||||
foreign_key_constraint_on: generation_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_generationname
|
||||
schema: public
|
|
@ -0,0 +1,39 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_experiences
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: growth_rate_id
|
||||
table:
|
||||
name: pokemon_v2_experience
|
||||
schema: public
|
||||
- name: pokemon_v2_growthratedescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: growth_rate_id
|
||||
table:
|
||||
name: pokemon_v2_growthratedescription
|
||||
schema: public
|
||||
- name: pokemon_v2_machines
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: growth_rate_id
|
||||
table:
|
||||
name: pokemon_v2_machine
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonspecies
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: growth_rate_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonspecies
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_growthrate
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_growthrate
|
||||
using:
|
||||
foreign_key_constraint_on: growth_rate_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_growthratedescription
|
||||
schema: public
|
|
@ -0,0 +1,102 @@
|
|||
array_relationships:
|
||||
- name: pokemonV2PokemonevolutionsByHeldItemId
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: held_item_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonevolution
|
||||
schema: public
|
||||
- name: pokemon_v2_berries
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_id
|
||||
table:
|
||||
name: pokemon_v2_berry
|
||||
schema: public
|
||||
- name: pokemon_v2_evolutionchains
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: baby_trigger_item_id
|
||||
table:
|
||||
name: pokemon_v2_evolutionchain
|
||||
schema: public
|
||||
- name: pokemon_v2_itemattributemaps
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_id
|
||||
table:
|
||||
name: pokemon_v2_itemattributemap
|
||||
schema: public
|
||||
- name: pokemon_v2_itemeffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_id
|
||||
table:
|
||||
name: pokemon_v2_itemeffecttext
|
||||
schema: public
|
||||
- name: pokemon_v2_itemflavortexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_id
|
||||
table:
|
||||
name: pokemon_v2_itemflavortext
|
||||
schema: public
|
||||
- name: pokemon_v2_itemgameindices
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_id
|
||||
table:
|
||||
name: pokemon_v2_itemgameindex
|
||||
schema: public
|
||||
- name: pokemon_v2_itemnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_id
|
||||
table:
|
||||
name: pokemon_v2_itemname
|
||||
schema: public
|
||||
- name: pokemon_v2_itemsprites
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_id
|
||||
table:
|
||||
name: pokemon_v2_itemsprites
|
||||
schema: public
|
||||
- name: pokemon_v2_machines
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_id
|
||||
table:
|
||||
name: pokemon_v2_machine
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonevolutions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: evolution_item_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonevolution
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonitems
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonitem
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_itemcategory
|
||||
using:
|
||||
foreign_key_constraint_on: item_category_id
|
||||
- name: pokemon_v2_itemflingeffect
|
||||
using:
|
||||
foreign_key_constraint_on: item_fling_effect_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_item
|
||||
schema: public
|
|
@ -0,0 +1,32 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_itemattributedescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_attribute_id
|
||||
table:
|
||||
name: pokemon_v2_itemattributedescription
|
||||
schema: public
|
||||
- name: pokemon_v2_itemattributemaps
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_attribute_id
|
||||
table:
|
||||
name: pokemon_v2_itemattributemap
|
||||
schema: public
|
||||
- name: pokemon_v2_itemattributenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_attribute_id
|
||||
table:
|
||||
name: pokemon_v2_itemattributename
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itemattribute
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_itemattribute
|
||||
using:
|
||||
foreign_key_constraint_on: item_attribute_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itemattributedescription
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_item
|
||||
using:
|
||||
foreign_key_constraint_on: item_id
|
||||
- name: pokemon_v2_itemattribute
|
||||
using:
|
||||
foreign_key_constraint_on: item_attribute_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itemattributemap
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_itemattribute
|
||||
using:
|
||||
foreign_key_constraint_on: item_attribute_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itemattributename
|
||||
schema: public
|
|
@ -0,0 +1,29 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_itemcategorynames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_category_id
|
||||
table:
|
||||
name: pokemon_v2_itemcategoryname
|
||||
schema: public
|
||||
- name: pokemon_v2_items
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_category_id
|
||||
table:
|
||||
name: pokemon_v2_item
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_itempocket
|
||||
using:
|
||||
foreign_key_constraint_on: item_pocket_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itemcategory
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_itemcategory
|
||||
using:
|
||||
foreign_key_constraint_on: item_category_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itemcategoryname
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_item
|
||||
using:
|
||||
foreign_key_constraint_on: item_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itemeffecttext
|
||||
schema: public
|
|
@ -0,0 +1,20 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_item
|
||||
using:
|
||||
foreign_key_constraint_on: item_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
- name: pokemon_v2_versiongroup
|
||||
using:
|
||||
foreign_key_constraint_on: version_group_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itemflavortext
|
||||
schema: public
|
|
@ -0,0 +1,25 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_itemflingeffecteffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_fling_effect_id
|
||||
table:
|
||||
name: pokemon_v2_itemflingeffecteffecttext
|
||||
schema: public
|
||||
- name: pokemon_v2_items
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_fling_effect_id
|
||||
table:
|
||||
name: pokemon_v2_item
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itemflingeffect
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_itemflingeffect
|
||||
using:
|
||||
foreign_key_constraint_on: item_fling_effect_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itemflingeffecteffecttext
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_generation
|
||||
using:
|
||||
foreign_key_constraint_on: generation_id
|
||||
- name: pokemon_v2_item
|
||||
using:
|
||||
foreign_key_constraint_on: item_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itemgameindex
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_item
|
||||
using:
|
||||
foreign_key_constraint_on: item_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itemname
|
||||
schema: public
|
|
@ -0,0 +1,25 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_itemcategories
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_pocket_id
|
||||
table:
|
||||
name: pokemon_v2_itemcategory
|
||||
schema: public
|
||||
- name: pokemon_v2_itempocketnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: item_pocket_id
|
||||
table:
|
||||
name: pokemon_v2_itempocketname
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itempocket
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_itempocket
|
||||
using:
|
||||
foreign_key_constraint_on: item_pocket_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itempocketname
|
||||
schema: public
|
|
@ -0,0 +1,14 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_item
|
||||
using:
|
||||
foreign_key_constraint_on: item_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_itemsprites
|
||||
schema: public
|
|
@ -0,0 +1,438 @@
|
|||
array_relationships:
|
||||
- name: pokemonV2LanguagenamesByLocalLanguageId
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: local_language_id
|
||||
table:
|
||||
name: pokemon_v2_languagename
|
||||
schema: public
|
||||
- name: pokemon_v2_abilitychangeeffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_abilitychangeeffecttext
|
||||
schema: public
|
||||
- name: pokemon_v2_abilityeffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_abilityeffecttext
|
||||
schema: public
|
||||
- name: pokemon_v2_abilityflavortexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_abilityflavortext
|
||||
schema: public
|
||||
- name: pokemon_v2_abilitynames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_abilityname
|
||||
schema: public
|
||||
- name: pokemon_v2_berryfirmnessnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_berryfirmnessname
|
||||
schema: public
|
||||
- name: pokemon_v2_berryflavornames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_berryflavorname
|
||||
schema: public
|
||||
- name: pokemon_v2_characteristicdescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_characteristicdescription
|
||||
schema: public
|
||||
- name: pokemon_v2_contesteffecteffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_contesteffecteffecttext
|
||||
schema: public
|
||||
- name: pokemon_v2_contesteffectflavortexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_contesteffectflavortext
|
||||
schema: public
|
||||
- name: pokemon_v2_contesttypenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_contesttypename
|
||||
schema: public
|
||||
- name: pokemon_v2_egggroupnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_egggroupname
|
||||
schema: public
|
||||
- name: pokemon_v2_encounterconditionnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_encounterconditionname
|
||||
schema: public
|
||||
- name: pokemon_v2_encounterconditionvaluenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_encounterconditionvaluename
|
||||
schema: public
|
||||
- name: pokemon_v2_encountermethodnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_encountermethodname
|
||||
schema: public
|
||||
- name: pokemon_v2_evolutiontriggernames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_evolutiontriggername
|
||||
schema: public
|
||||
- name: pokemon_v2_generationnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_generationname
|
||||
schema: public
|
||||
- name: pokemon_v2_growthratedescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_growthratedescription
|
||||
schema: public
|
||||
- name: pokemon_v2_itemattributedescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_itemattributedescription
|
||||
schema: public
|
||||
- name: pokemon_v2_itemattributenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_itemattributename
|
||||
schema: public
|
||||
- name: pokemon_v2_itemcategorynames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_itemcategoryname
|
||||
schema: public
|
||||
- name: pokemon_v2_itemeffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_itemeffecttext
|
||||
schema: public
|
||||
- name: pokemon_v2_itemflavortexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_itemflavortext
|
||||
schema: public
|
||||
- name: pokemon_v2_itemflingeffecteffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_itemflingeffecteffecttext
|
||||
schema: public
|
||||
- name: pokemon_v2_itemnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_itemname
|
||||
schema: public
|
||||
- name: pokemon_v2_itempocketnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_itempocketname
|
||||
schema: public
|
||||
- name: pokemon_v2_languagenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_languagename
|
||||
schema: public
|
||||
- name: pokemon_v2_locationareanames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_locationareaname
|
||||
schema: public
|
||||
- name: pokemon_v2_locationnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_locationname
|
||||
schema: public
|
||||
- name: pokemon_v2_moveattributedescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_moveattributedescription
|
||||
schema: public
|
||||
- name: pokemon_v2_moveattributenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_moveattributename
|
||||
schema: public
|
||||
- name: pokemon_v2_movebattlestylenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_movebattlestylename
|
||||
schema: public
|
||||
- name: pokemon_v2_movedamageclassdescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_movedamageclassdescription
|
||||
schema: public
|
||||
- name: pokemon_v2_movedamageclassnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_movedamageclassname
|
||||
schema: public
|
||||
- name: pokemon_v2_moveeffectchangeeffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_moveeffectchangeeffecttext
|
||||
schema: public
|
||||
- name: pokemon_v2_moveeffecteffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_moveeffecteffecttext
|
||||
schema: public
|
||||
- name: pokemon_v2_moveflavortexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_moveflavortext
|
||||
schema: public
|
||||
- name: pokemon_v2_movelearnmethoddescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_movelearnmethoddescription
|
||||
schema: public
|
||||
- name: pokemon_v2_movelearnmethodnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_movelearnmethodname
|
||||
schema: public
|
||||
- name: pokemon_v2_movemetaailmentnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_movemetaailmentname
|
||||
schema: public
|
||||
- name: pokemon_v2_movemetacategorydescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_movemetacategorydescription
|
||||
schema: public
|
||||
- name: pokemon_v2_movenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_movename
|
||||
schema: public
|
||||
- name: pokemon_v2_movetargetdescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_movetargetdescription
|
||||
schema: public
|
||||
- name: pokemon_v2_movetargetnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_movetargetname
|
||||
schema: public
|
||||
- name: pokemon_v2_naturenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_naturename
|
||||
schema: public
|
||||
- name: pokemon_v2_palparkareanames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_palparkareaname
|
||||
schema: public
|
||||
- name: pokemon_v2_pokeathlonstatnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_pokeathlonstatname
|
||||
schema: public
|
||||
- name: pokemon_v2_pokedexdescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_pokedexdescription
|
||||
schema: public
|
||||
- name: pokemon_v2_pokedexnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_pokedexname
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemoncolornames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_pokemoncolorname
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonformnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonformname
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonhabitatnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonhabitatname
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonshapenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonshapename
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonspeciesdescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonspeciesdescription
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonspeciesflavortexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonspeciesflavortext
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonspeciesnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonspeciesname
|
||||
schema: public
|
||||
- name: pokemon_v2_regionnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_regionname
|
||||
schema: public
|
||||
- name: pokemon_v2_statnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_statname
|
||||
schema: public
|
||||
- name: pokemon_v2_supercontesteffectflavortexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_supercontesteffectflavortext
|
||||
schema: public
|
||||
- name: pokemon_v2_typenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_typename
|
||||
schema: public
|
||||
- name: pokemon_v2_versionnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: language_id
|
||||
table:
|
||||
name: pokemon_v2_versionname
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_language
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemonV2LanguageByLocalLanguageId
|
||||
using:
|
||||
foreign_key_constraint_on: local_language_id
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_languagename
|
||||
schema: public
|
|
@ -0,0 +1,43 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_locationareas
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: location_id
|
||||
table:
|
||||
name: pokemon_v2_locationarea
|
||||
schema: public
|
||||
- name: pokemon_v2_locationgameindices
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: location_id
|
||||
table:
|
||||
name: pokemon_v2_locationgameindex
|
||||
schema: public
|
||||
- name: pokemon_v2_locationnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: location_id
|
||||
table:
|
||||
name: pokemon_v2_locationname
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonevolutions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: location_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonevolution
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_region
|
||||
using:
|
||||
foreign_key_constraint_on: region_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_location
|
||||
schema: public
|
|
@ -0,0 +1,36 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_encounters
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: location_area_id
|
||||
table:
|
||||
name: pokemon_v2_encounter
|
||||
schema: public
|
||||
- name: pokemon_v2_locationareaencounterrates
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: location_area_id
|
||||
table:
|
||||
name: pokemon_v2_locationareaencounterrate
|
||||
schema: public
|
||||
- name: pokemon_v2_locationareanames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: location_area_id
|
||||
table:
|
||||
name: pokemon_v2_locationareaname
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_location
|
||||
using:
|
||||
foreign_key_constraint_on: location_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_locationarea
|
||||
schema: public
|
|
@ -0,0 +1,20 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_encountermethod
|
||||
using:
|
||||
foreign_key_constraint_on: encounter_method_id
|
||||
- name: pokemon_v2_locationarea
|
||||
using:
|
||||
foreign_key_constraint_on: location_area_id
|
||||
- name: pokemon_v2_version
|
||||
using:
|
||||
foreign_key_constraint_on: version_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_locationareaencounterrate
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
- name: pokemon_v2_locationarea
|
||||
using:
|
||||
foreign_key_constraint_on: location_area_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_locationareaname
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_generation
|
||||
using:
|
||||
foreign_key_constraint_on: generation_id
|
||||
- name: pokemon_v2_location
|
||||
using:
|
||||
foreign_key_constraint_on: location_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_locationgameindex
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
- name: pokemon_v2_location
|
||||
using:
|
||||
foreign_key_constraint_on: location_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_locationname
|
||||
schema: public
|
|
@ -0,0 +1,23 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_growthrate
|
||||
using:
|
||||
foreign_key_constraint_on: growth_rate_id
|
||||
- name: pokemon_v2_item
|
||||
using:
|
||||
foreign_key_constraint_on: item_id
|
||||
- name: pokemon_v2_move
|
||||
using:
|
||||
foreign_key_constraint_on: move_id
|
||||
- name: pokemon_v2_versiongroup
|
||||
using:
|
||||
foreign_key_constraint_on: version_group_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_machine
|
||||
schema: public
|
|
@ -0,0 +1,127 @@
|
|||
array_relationships:
|
||||
- name: pokemonV2ContestcombosBySecondMoveId
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: second_move_id
|
||||
table:
|
||||
name: pokemon_v2_contestcombo
|
||||
schema: public
|
||||
- name: pokemonV2SupercontestcombosBySecondMoveId
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: second_move_id
|
||||
table:
|
||||
name: pokemon_v2_supercontestcombo
|
||||
schema: public
|
||||
- name: pokemon_v2_contestcombos
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: first_move_id
|
||||
table:
|
||||
name: pokemon_v2_contestcombo
|
||||
schema: public
|
||||
- name: pokemon_v2_machines
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_id
|
||||
table:
|
||||
name: pokemon_v2_machine
|
||||
schema: public
|
||||
- name: pokemon_v2_moveattributemaps
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_id
|
||||
table:
|
||||
name: pokemon_v2_moveattributemap
|
||||
schema: public
|
||||
- name: pokemon_v2_movechanges
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_id
|
||||
table:
|
||||
name: pokemon_v2_movechange
|
||||
schema: public
|
||||
- name: pokemon_v2_moveflavortexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_id
|
||||
table:
|
||||
name: pokemon_v2_moveflavortext
|
||||
schema: public
|
||||
- name: pokemon_v2_movemeta
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_id
|
||||
table:
|
||||
name: pokemon_v2_movemeta
|
||||
schema: public
|
||||
- name: pokemon_v2_movemetastatchanges
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_id
|
||||
table:
|
||||
name: pokemon_v2_movemetastatchange
|
||||
schema: public
|
||||
- name: pokemon_v2_movenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_id
|
||||
table:
|
||||
name: pokemon_v2_movename
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonevolutions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: known_move_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonevolution
|
||||
schema: public
|
||||
- name: pokemon_v2_pokemonmoves
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_id
|
||||
table:
|
||||
name: pokemon_v2_pokemonmove
|
||||
schema: public
|
||||
- name: pokemon_v2_supercontestcombos
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: first_move_id
|
||||
table:
|
||||
name: pokemon_v2_supercontestcombo
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_contesteffect
|
||||
using:
|
||||
foreign_key_constraint_on: contest_effect_id
|
||||
- name: pokemon_v2_contesttype
|
||||
using:
|
||||
foreign_key_constraint_on: contest_type_id
|
||||
- name: pokemon_v2_generation
|
||||
using:
|
||||
foreign_key_constraint_on: generation_id
|
||||
- name: pokemon_v2_movedamageclass
|
||||
using:
|
||||
foreign_key_constraint_on: move_damage_class_id
|
||||
- name: pokemon_v2_moveeffect
|
||||
using:
|
||||
foreign_key_constraint_on: move_effect_id
|
||||
- name: pokemon_v2_movetarget
|
||||
using:
|
||||
foreign_key_constraint_on: move_target_id
|
||||
- name: pokemon_v2_supercontesteffect
|
||||
using:
|
||||
foreign_key_constraint_on: super_contest_effect_id
|
||||
- name: pokemon_v2_type
|
||||
using:
|
||||
foreign_key_constraint_on: type_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_move
|
||||
schema: public
|
|
@ -0,0 +1,32 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_moveattributedescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_attribute_id
|
||||
table:
|
||||
name: pokemon_v2_moveattributedescription
|
||||
schema: public
|
||||
- name: pokemon_v2_moveattributemaps
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_attribute_id
|
||||
table:
|
||||
name: pokemon_v2_moveattributemap
|
||||
schema: public
|
||||
- name: pokemon_v2_moveattributenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_attribute_id
|
||||
table:
|
||||
name: pokemon_v2_moveattributename
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_moveattribute
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
- name: pokemon_v2_moveattribute
|
||||
using:
|
||||
foreign_key_constraint_on: move_attribute_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_moveattributedescription
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_move
|
||||
using:
|
||||
foreign_key_constraint_on: move_id
|
||||
- name: pokemon_v2_moveattribute
|
||||
using:
|
||||
foreign_key_constraint_on: move_attribute_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_moveattributemap
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
- name: pokemon_v2_moveattribute
|
||||
using:
|
||||
foreign_key_constraint_on: move_attribute_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_moveattributename
|
||||
schema: public
|
|
@ -0,0 +1,25 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_movebattlestylenames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_battle_style_id
|
||||
table:
|
||||
name: pokemon_v2_movebattlestylename
|
||||
schema: public
|
||||
- name: pokemon_v2_naturebattlestylepreferences
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_battle_style_id
|
||||
table:
|
||||
name: pokemon_v2_naturebattlestylepreference
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_movebattlestyle
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
- name: pokemon_v2_movebattlestyle
|
||||
using:
|
||||
foreign_key_constraint_on: move_battle_style_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_movebattlestylename
|
||||
schema: public
|
|
@ -0,0 +1,23 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_move
|
||||
using:
|
||||
foreign_key_constraint_on: move_id
|
||||
- name: pokemon_v2_moveeffect
|
||||
using:
|
||||
foreign_key_constraint_on: move_effect_id
|
||||
- name: pokemon_v2_type
|
||||
using:
|
||||
foreign_key_constraint_on: type_id
|
||||
- name: pokemon_v2_versiongroup
|
||||
using:
|
||||
foreign_key_constraint_on: version_group_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_movechange
|
||||
schema: public
|
|
@ -0,0 +1,46 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_movedamageclassdescriptions
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_damage_class_id
|
||||
table:
|
||||
name: pokemon_v2_movedamageclassdescription
|
||||
schema: public
|
||||
- name: pokemon_v2_movedamageclassnames
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_damage_class_id
|
||||
table:
|
||||
name: pokemon_v2_movedamageclassname
|
||||
schema: public
|
||||
- name: pokemon_v2_moves
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_damage_class_id
|
||||
table:
|
||||
name: pokemon_v2_move
|
||||
schema: public
|
||||
- name: pokemon_v2_stats
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_damage_class_id
|
||||
table:
|
||||
name: pokemon_v2_stat
|
||||
schema: public
|
||||
- name: pokemon_v2_types
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_damage_class_id
|
||||
table:
|
||||
name: pokemon_v2_type
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_movedamageclass
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
- name: pokemon_v2_movedamageclass
|
||||
using:
|
||||
foreign_key_constraint_on: move_damage_class_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_movedamageclassdescription
|
||||
schema: public
|
|
@ -0,0 +1,17 @@
|
|||
object_relationships:
|
||||
- name: pokemon_v2_language
|
||||
using:
|
||||
foreign_key_constraint_on: language_id
|
||||
- name: pokemon_v2_movedamageclass
|
||||
using:
|
||||
foreign_key_constraint_on: move_damage_class_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_movedamageclassname
|
||||
schema: public
|
|
@ -0,0 +1,39 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_movechanges
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_effect_id
|
||||
table:
|
||||
name: pokemon_v2_movechange
|
||||
schema: public
|
||||
- name: pokemon_v2_moveeffectchanges
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_effect_id
|
||||
table:
|
||||
name: pokemon_v2_moveeffectchange
|
||||
schema: public
|
||||
- name: pokemon_v2_moveeffecteffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_effect_id
|
||||
table:
|
||||
name: pokemon_v2_moveeffecteffecttext
|
||||
schema: public
|
||||
- name: pokemon_v2_moves
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_effect_id
|
||||
table:
|
||||
name: pokemon_v2_move
|
||||
schema: public
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_moveeffect
|
||||
schema: public
|
|
@ -0,0 +1,25 @@
|
|||
array_relationships:
|
||||
- name: pokemon_v2_moveeffectchangeeffecttexts
|
||||
using:
|
||||
foreign_key_constraint_on:
|
||||
column: move_effect_change_id
|
||||
table:
|
||||
name: pokemon_v2_moveeffectchangeeffecttext
|
||||
schema: public
|
||||
object_relationships:
|
||||
- name: pokemon_v2_moveeffect
|
||||
using:
|
||||
foreign_key_constraint_on: move_effect_id
|
||||
- name: pokemon_v2_versiongroup
|
||||
using:
|
||||
foreign_key_constraint_on: version_group_id
|
||||
select_permissions:
|
||||
- permission:
|
||||
allow_aggregations: true
|
||||
columns: "*"
|
||||
filter: {}
|
||||
limit: 100000
|
||||
role: anon
|
||||
table:
|
||||
name: pokemon_v2_moveeffectchange
|
||||
schema: public
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue