Merge pull request #662 from PokeAPI/compose

This commit is contained in:
Alessandro Pezzè 2021-10-24 15:40:28 +02:00 committed by GitHub
commit 4088ad9c3c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
162 changed files with 720 additions and 662 deletions

View file

@ -4,7 +4,7 @@ docker_config = --settings=config.docker-compose
HASURA_GRAPHQL_ADMIN_SECRET=pokemon
.PHONY: help
.SILENT:
.SILENT:
help:
@grep -E '^[a-zA-Z_-]+:.*?# .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?# "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
@ -67,6 +67,9 @@ docker-stop: # (Docker) Stop containers
docker-down: # (Docker) Stop and removes containers and networks
docker-compose down
docker-prod:
docker-compose -f docker-compose.yml -f Resources/compose/docker-compose-prod-graphql.yml up -d
docker-setup: docker-up docker-migrate docker-build-db # (Docker) Start services, prepare the latest DB schema, populate the DB
format: # Format the source code
@ -114,4 +117,4 @@ k8s-build-db: # (k8s) Build the database
kubectl exec --namespace pokeapi deployment/pokeapi -- sh -c 'echo "from data.v2.build import build_all; build_all()" | python manage.py shell --settings=config.docker-compose'
k8s-delete: # (k8s) Delete pokeapi namespace
kubectl delete namespace pokeapi
kubectl delete namespace pokeapi

View file

@ -96,7 +96,7 @@ When you start PokéAPI with the above docker-compose setup, an [Hasura Engine](
```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
# hasura cli's version has to be v2.0.8
make hasura-apply
```

View file

@ -4,7 +4,7 @@ services:
environment:
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
POSTGRES_USER: "${POSTGRES_USER}"
app:
env_file: .env
@ -13,19 +13,24 @@ services:
- graphiql:/public-console:ro
graphql-engine:
cpus: 0.7
memswap_limit: 3g
mem_limit: 700m
environment:
HASURA_GRAPHQL_DATABASE_URL: "postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB:-pokeapi}"
HASURA_GRAPHQL_ADMIN_SECRET: "${HASURA_GRAPHQL_ADMIN_SECRET}"
HASURA_GRAPHQL_SCHEMA_SYNC_POLL_INTERVAL: 0
HASURA_GRAPHQL_EVENTS_HTTP_POOL_SIZE: 10
graphiql:
image: pokeapi/graphiql:1.0.1
command: sh -c 'cp -a /app/static/. /transfer/ && tail -f /etc/passwd'
volumes:
- graphiql:/transfer
depends_on:
depends_on:
- graphql-engine
volumes:
volumes:
graphiql:
# docker-compose -f docker-compose.yml -f Resources/compose/docker-compose-graphql.yml up
# docker-compose -f docker-compose.yml -f Resources/compose/docker-compose-prod-graphql.yml up -d

View file

@ -30,7 +30,7 @@ spec:
- apt-get update &&
apt-get install -y git curl &&
curl -L https://github.com/hasura/graphql-engine/raw/stable/cli/get.sh | bash &&
hasura update-cli --version v2.0.0-alpha.5 &&
hasura update-cli --version v2.0.8 &&
git clone https://github.com/PokeAPI/pokeapi.git &&
cd pokeapi &&
git checkout staging &&

View file

@ -1,7 +1,7 @@
worker_processes 2;
worker_processes 1;
events {
worker_connections 4096;
worker_connections 1024;
multi_accept on; # accept each connection as soon as you can
accept_mutex off;
use epoll;
@ -24,21 +24,18 @@ http {
tcp_nodelay on;
keepalive_timeout 5;
gzip on;
gzip_disable "msi6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_comp_level 4;
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
server app:80 fail_timeout=0;
}
resolver 127.0.0.11 valid=30s;
upstream graphql_upstream {
server graphql-engine:8080 fail_timeout=0;
@ -57,6 +54,7 @@ http {
limit_req_zone $limit_key zone=graphqlDefaultLimit:50m rate=1r/m;
limit_conn_zone $binary_remote_addr zone=addr:20m;
proxy_cache_path /tmp/cache levels=1:2 keys_zone=small:40m inactive=10d max_size=2g use_temp_path=off;
server {
listen 80 deferred;
@ -91,11 +89,18 @@ http {
}
location /graphql/v1beta {
# proxy_cache small;
# proxy_cache_valid 200 10d;
# proxy_cache_valid any 0;
# proxy_cache_methods POST;
# proxy_cache_key "$request_method$request_uri$request_body";
limit_req zone=graphqlDefaultLimit burst=100 nodelay;
limit_req_status 429;
expires 1m; # client-side caching, one minute for each API resource
expires 30m; # client-side caching, one minute for each API resource
add_header Cache-Control "public";
add_header Pragma public;
# add_header X-Proxy-Cache $upstream_cache_status;
# add_header X-Cache-Date $upstream_http_date;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
@ -105,7 +110,7 @@ http {
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";
@ -114,15 +119,12 @@ http {
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;
set $upstream app;
proxy_pass http://$upstream:80;
}
location / {
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;
return 404;
}
}
}

9
docker-compose-dev.yml Normal file
View file

@ -0,0 +1,9 @@
version: '2.4'
services:
app:
build:
context: .
dockerfile: ./Resources/docker/app/Dockerfile
# # docker-compose -f docker-compose.yml -f Resources/compose/docker-compose-dev.yml up -d

View file

@ -17,9 +17,7 @@ services:
restart: always
app:
build:
context: .
dockerfile: ./Resources/docker/app/Dockerfile
image: pokeapi/pokeapi:master
user: ${RUN_AS:-pokeapi}
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-pokemon}
@ -45,13 +43,9 @@ services:
volumes:
- ./Resources/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./Resources/nginx/ssl:/ssl:ro
volumes_from:
- app:ro
links:
- app
- graphql_cache:/tmp/cache
graphql-engine:
image: hasura/graphql-engine:v2.0.0-alpha.5
image: hasura/graphql-engine:v2.0.8
ports:
- "8080:8080"
depends_on:
@ -61,6 +55,7 @@ services:
HASURA_GRAPHQL_DATABASE_URL: postgres://${POSTGRES_USER:-ash}:${POSTGRES_PASSWORD:-pokemon}@db:5432/${POSTGRES_DB:-pokeapi}
HASURA_GRAPHQL_ENABLE_CONSOLE: "true"
HASURA_GRAPHQL_DEV_MODE: "false"
HASURA_GRAPHQL_LOG_LEVEL: "warn"
HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET:-pokemon}
HASURA_GRAPHQL_UNAUTHORIZED_ROLE: anon
@ -70,3 +65,4 @@ services:
volumes:
pg_data:
redis_data:
graphql_cache:

View file

@ -1,2 +0,0 @@

View file

@ -4,9 +4,12 @@
connection_info:
database_url:
from_env: HASURA_GRAPHQL_DATABASE_URL
isolation_level: read-committed
pool_settings:
idle_timeout: 180
max_connections: 50
idle_timeout: 20
max_connections: 10
retries: 1
pool_timeout: 60
connection_lifetime: 60
use_prepared_statements: false
tables: "!include default/tables/tables.yaml"
functions: "!include default/functions/functions.yaml"

View file

@ -1,3 +1,10 @@
table:
name: pokemon_v2_ability
schema: public
object_relationships:
- name: pokemon_v2_generation
using:
foreign_key_constraint_on: generation_id
array_relationships:
- name: pokemon_v2_abilitychanges
using:
@ -34,10 +41,6 @@ array_relationships:
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
@ -45,6 +48,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_ability
schema: public

View file

@ -1,3 +1,13 @@
table:
name: pokemon_v2_abilitychange
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
array_relationships:
- name: pokemon_v2_abilitychangeeffecttexts
using:
@ -6,13 +16,6 @@ array_relationships:
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
@ -20,6 +23,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_abilitychange
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_abilitychangeeffecttext
schema: public
object_relationships:
- name: pokemon_v2_abilitychange
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_abilitychangeeffecttext
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_abilityeffecttext
schema: public
object_relationships:
- name: pokemon_v2_ability
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_abilityeffecttext
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_abilityflavortext
schema: public
object_relationships:
- name: pokemon_v2_ability
using:
@ -15,6 +18,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_abilityflavortext
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_abilityname
schema: public
object_relationships:
- name: pokemon_v2_ability
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_abilityname
schema: public

View file

@ -1,11 +1,6 @@
array_relationships:
- name: pokemon_v2_berryflavormaps
using:
foreign_key_constraint_on:
column: berry_id
table:
name: pokemon_v2_berryflavormap
schema: public
table:
name: pokemon_v2_berry
schema: public
object_relationships:
- name: pokemon_v2_berryfirmness
using:
@ -16,6 +11,14 @@ object_relationships:
- name: pokemon_v2_type
using:
foreign_key_constraint_on: natural_gift_type_id
array_relationships:
- name: pokemon_v2_berryflavormaps
using:
foreign_key_constraint_on:
column: berry_id
table:
name: pokemon_v2_berryflavormap
schema: public
select_permissions:
- permission:
allow_aggregations: true
@ -23,6 +26,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_berry
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_berryfirmness
schema: public
array_relationships:
- name: pokemon_v2_berries
using:
@ -20,6 +23,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_berryfirmness
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_berryfirmnessname
schema: public
object_relationships:
- name: pokemon_v2_berryfirmness
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_berryfirmnessname
schema: public

View file

@ -1,3 +1,10 @@
table:
name: pokemon_v2_berryflavor
schema: public
object_relationships:
- name: pokemon_v2_contesttype
using:
foreign_key_constraint_on: contest_type_id
array_relationships:
- name: pokemonV2NaturesByLikesFlavorId
using:
@ -27,10 +34,6 @@ array_relationships:
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
@ -38,6 +41,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_berryflavor
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_berryflavormap
schema: public
object_relationships:
- name: pokemon_v2_berry
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_berryflavormap
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_berryflavorname
schema: public
object_relationships:
- name: pokemon_v2_berryflavor
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_berryflavorname
schema: public

View file

@ -1,3 +1,10 @@
table:
name: pokemon_v2_characteristic
schema: public
object_relationships:
- name: pokemon_v2_stat
using:
foreign_key_constraint_on: stat_id
array_relationships:
- name: pokemon_v2_characteristicdescriptions
using:
@ -6,10 +13,6 @@ array_relationships:
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
@ -17,6 +20,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_characteristic
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_characteristicdescription
schema: public
object_relationships:
- name: pokemon_v2_characteristic
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_characteristicdescription
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_contestcombo
schema: public
object_relationships:
- name: pokemonV2MoveBySecondMoveId
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_contestcombo
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_contesteffect
schema: public
array_relationships:
- name: pokemon_v2_contesteffecteffecttexts
using:
@ -27,6 +30,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_contesteffect
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_contesteffecteffecttext
schema: public
object_relationships:
- name: pokemon_v2_contesteffect
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_contesteffecteffecttext
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_contesteffectflavortext
schema: public
object_relationships:
- name: pokemon_v2_contesteffect
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_contesteffectflavortext
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_contesttype
schema: public
array_relationships:
- name: pokemon_v2_berryflavors
using:
@ -27,6 +30,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_contesttype
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_contesttypename
schema: public
object_relationships:
- name: pokemon_v2_contesttype
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_contesttypename
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_egggroup
schema: public
array_relationships:
- name: pokemon_v2_egggroupnames
using:
@ -20,6 +23,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_egggroup
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_egggroupname
schema: public
object_relationships:
- name: pokemon_v2_egggroup
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_egggroupname
schema: public

View file

@ -1,11 +1,6 @@
array_relationships:
- name: pokemon_v2_encounterconditionvaluemaps
using:
foreign_key_constraint_on:
column: encounter_id
table:
name: pokemon_v2_encounterconditionvaluemap
schema: public
table:
name: pokemon_v2_encounter
schema: public
object_relationships:
- name: pokemon_v2_encounterslot
using:
@ -19,6 +14,14 @@ object_relationships:
- name: pokemon_v2_version
using:
foreign_key_constraint_on: version_id
array_relationships:
- name: pokemon_v2_encounterconditionvaluemaps
using:
foreign_key_constraint_on:
column: encounter_id
table:
name: pokemon_v2_encounterconditionvaluemap
schema: public
select_permissions:
- permission:
allow_aggregations: true
@ -26,6 +29,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_encounter
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_encountercondition
schema: public
array_relationships:
- name: pokemon_v2_encounterconditionnames
using:
@ -20,6 +23,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_encountercondition
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_encounterconditionname
schema: public
object_relationships:
- name: pokemon_v2_encountercondition
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_encounterconditionname
schema: public

View file

@ -1,3 +1,10 @@
table:
name: pokemon_v2_encounterconditionvalue
schema: public
object_relationships:
- name: pokemon_v2_encountercondition
using:
foreign_key_constraint_on: encounter_condition_id
array_relationships:
- name: pokemon_v2_encounterconditionvaluemaps
using:
@ -13,10 +20,6 @@ array_relationships:
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
@ -24,6 +27,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_encounterconditionvalue
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_encounterconditionvaluemap
schema: public
object_relationships:
- name: pokemon_v2_encounter
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_encounterconditionvaluemap
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_encounterconditionvaluename
schema: public
object_relationships:
- name: pokemon_v2_encounterconditionvalue
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_encounterconditionvaluename
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_encountermethod
schema: public
array_relationships:
- name: pokemon_v2_encountermethodnames
using:
@ -27,6 +30,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_encountermethod
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_encountermethodname
schema: public
object_relationships:
- name: pokemon_v2_encountermethod
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_encountermethodname
schema: public

View file

@ -1,3 +1,13 @@
table:
name: pokemon_v2_encounterslot
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
array_relationships:
- name: pokemon_v2_encounters
using:
@ -6,13 +16,6 @@ array_relationships:
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
@ -20,6 +23,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_encounterslot
schema: public

View file

@ -1,3 +1,10 @@
table:
name: pokemon_v2_evolutionchain
schema: public
object_relationships:
- name: pokemon_v2_item
using:
foreign_key_constraint_on: baby_trigger_item_id
array_relationships:
- name: pokemon_v2_pokemonspecies
using:
@ -6,10 +13,6 @@ array_relationships:
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
@ -17,6 +20,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_evolutionchain
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_evolutiontrigger
schema: public
array_relationships:
- name: pokemon_v2_evolutiontriggernames
using:
@ -20,6 +23,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_evolutiontrigger
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_evolutiontriggername
schema: public
object_relationships:
- name: pokemon_v2_evolutiontrigger
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_evolutiontriggername
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_experience
schema: public
object_relationships:
- name: pokemon_v2_growthrate
using:
@ -9,6 +12,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_experience
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_gender
schema: public
array_relationships:
- name: pokemon_v2_pokemonevolutions
using:
@ -13,6 +16,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_gender
schema: public

View file

@ -1,3 +1,10 @@
table:
name: pokemon_v2_generation
schema: public
object_relationships:
- name: pokemon_v2_region
using:
foreign_key_constraint_on: region_id
array_relationships:
- name: pokemon_v2_abilities
using:
@ -55,6 +62,13 @@ array_relationships:
table:
name: pokemon_v2_pokemontypepast
schema: public
- name: pokemon_v2_typeefficacypasts
using:
foreign_key_constraint_on:
column: generation_id
table:
name: pokemon_v2_typeefficacypast
schema: public
- name: pokemon_v2_typegameindices
using:
foreign_key_constraint_on:
@ -76,10 +90,6 @@ array_relationships:
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
@ -87,6 +97,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_generation
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_generationname
schema: public
object_relationships:
- name: pokemon_v2_generation
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_generationname
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_growthrate
schema: public
array_relationships:
- name: pokemon_v2_experiences
using:
@ -34,6 +37,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_growthrate
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_growthratedescription
schema: public
object_relationships:
- name: pokemon_v2_growthrate
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_growthratedescription
schema: public

View file

@ -1,3 +1,13 @@
table:
name: pokemon_v2_item
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
array_relationships:
- name: pokemonV2PokemonevolutionsByHeldItemId
using:
@ -83,13 +93,6 @@ array_relationships:
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
@ -97,6 +100,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_item
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itemattribute
schema: public
array_relationships:
- name: pokemon_v2_itemattributedescriptions
using:
@ -27,6 +30,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itemattribute
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itemattributedescription
schema: public
object_relationships:
- name: pokemon_v2_itemattribute
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itemattributedescription
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itemattributemap
schema: public
object_relationships:
- name: pokemon_v2_item
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itemattributemap
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itemattributename
schema: public
object_relationships:
- name: pokemon_v2_itemattribute
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itemattributename
schema: public

View file

@ -1,3 +1,10 @@
table:
name: pokemon_v2_itemcategory
schema: public
object_relationships:
- name: pokemon_v2_itempocket
using:
foreign_key_constraint_on: item_pocket_id
array_relationships:
- name: pokemon_v2_itemcategorynames
using:
@ -13,10 +20,6 @@ array_relationships:
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
@ -24,6 +27,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itemcategory
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itemcategoryname
schema: public
object_relationships:
- name: pokemon_v2_itemcategory
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itemcategoryname
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itemeffecttext
schema: public
object_relationships:
- name: pokemon_v2_item
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itemeffecttext
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itemflavortext
schema: public
object_relationships:
- name: pokemon_v2_item
using:
@ -15,6 +18,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itemflavortext
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itemflingeffect
schema: public
array_relationships:
- name: pokemon_v2_itemflingeffecteffecttexts
using:
@ -20,6 +23,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itemflingeffect
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itemflingeffecteffecttext
schema: public
object_relationships:
- name: pokemon_v2_itemflingeffect
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itemflingeffecteffecttext
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itemgameindex
schema: public
object_relationships:
- name: pokemon_v2_generation
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itemgameindex
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itemname
schema: public
object_relationships:
- name: pokemon_v2_item
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itemname
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itempocket
schema: public
array_relationships:
- name: pokemon_v2_itemcategories
using:
@ -20,6 +23,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itempocket
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itempocketname
schema: public
object_relationships:
- name: pokemon_v2_itempocket
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itempocketname
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_itemsprites
schema: public
object_relationships:
- name: pokemon_v2_item
using:
@ -9,6 +12,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_itemsprites
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_language
schema: public
array_relationships:
- name: pokemonV2LanguagenamesByLocalLanguageId
using:
@ -433,6 +436,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_language
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_languagename
schema: public
object_relationships:
- name: pokemonV2LanguageByLocalLanguageId
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_languagename
schema: public

View file

@ -1,3 +1,10 @@
table:
name: pokemon_v2_location
schema: public
object_relationships:
- name: pokemon_v2_region
using:
foreign_key_constraint_on: region_id
array_relationships:
- name: pokemon_v2_locationareas
using:
@ -27,10 +34,6 @@ array_relationships:
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
@ -38,6 +41,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_location
schema: public

View file

@ -1,3 +1,10 @@
table:
name: pokemon_v2_locationarea
schema: public
object_relationships:
- name: pokemon_v2_location
using:
foreign_key_constraint_on: location_id
array_relationships:
- name: pokemon_v2_encounters
using:
@ -20,10 +27,6 @@ array_relationships:
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
@ -31,6 +34,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_locationarea
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_locationareaencounterrate
schema: public
object_relationships:
- name: pokemon_v2_encountermethod
using:
@ -15,6 +18,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_locationareaencounterrate
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_locationareaname
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_locationareaname
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_locationgameindex
schema: public
object_relationships:
- name: pokemon_v2_generation
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_locationgameindex
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_locationname
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_locationname
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_machine
schema: public
object_relationships:
- name: pokemon_v2_growthrate
using:
@ -18,6 +21,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_machine
schema: public

View file

@ -1,3 +1,38 @@
table:
name: pokemon_v2_move
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_movemetum
using:
foreign_key_constraint_on:
column: move_id
table:
name: pokemon_v2_movemeta
schema: public
- 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
array_relationships:
- name: pokemonV2ContestcombosBySecondMoveId
using:
@ -90,31 +125,6 @@ array_relationships:
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
@ -122,6 +132,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_move
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_moveattribute
schema: public
array_relationships:
- name: pokemon_v2_moveattributedescriptions
using:
@ -27,6 +30,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_moveattribute
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_moveattributedescription
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_moveattributedescription
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_moveattributemap
schema: public
object_relationships:
- name: pokemon_v2_move
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_moveattributemap
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_moveattributename
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_moveattributename
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movebattlestyle
schema: public
array_relationships:
- name: pokemon_v2_movebattlestylenames
using:
@ -20,6 +23,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movebattlestyle
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movebattlestylename
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movebattlestylename
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movechange
schema: public
object_relationships:
- name: pokemon_v2_move
using:
@ -18,6 +21,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movechange
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movedamageclass
schema: public
array_relationships:
- name: pokemon_v2_movedamageclassdescriptions
using:
@ -41,6 +44,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movedamageclass
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movedamageclassdescription
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movedamageclassdescription
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movedamageclassname
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movedamageclassname
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_moveeffect
schema: public
array_relationships:
- name: pokemon_v2_movechanges
using:
@ -34,6 +37,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_moveeffect
schema: public

View file

@ -1,3 +1,13 @@
table:
name: pokemon_v2_moveeffectchange
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
array_relationships:
- name: pokemon_v2_moveeffectchangeeffecttexts
using:
@ -6,13 +16,6 @@ array_relationships:
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
@ -20,6 +23,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_moveeffectchange
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_moveeffectchangeeffecttext
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_moveeffectchangeeffecttext
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_moveeffecteffecttext
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_moveeffecteffecttext
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_moveflavortext
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -15,6 +18,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_moveflavortext
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movelearnmethod
schema: public
array_relationships:
- name: pokemon_v2_movelearnmethoddescriptions
using:
@ -34,6 +37,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movelearnmethod
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movelearnmethoddescription
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movelearnmethoddescription
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movelearnmethodname
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movelearnmethodname
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movemeta
schema: public
object_relationships:
- name: pokemon_v2_move
using:
@ -15,6 +18,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movemeta
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movemetaailment
schema: public
array_relationships:
- name: pokemon_v2_movemeta
using:
@ -20,6 +23,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movemetaailment
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movemetaailmentname
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movemetaailmentname
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movemetacategory
schema: public
array_relationships:
- name: pokemon_v2_movemeta
using:
@ -20,6 +23,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movemetacategory
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movemetacategorydescription
schema: public
object_relationships:
- name: pokemon_v2_language
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movemetacategorydescription
schema: public

View file

@ -1,3 +1,6 @@
table:
name: pokemon_v2_movemetastatchange
schema: public
object_relationships:
- name: pokemon_v2_move
using:
@ -12,6 +15,3 @@ select_permissions:
filter: {}
limit: 100000
role: anon
table:
name: pokemon_v2_movemetastatchange
schema: public

Some files were not shown because too many files have changed in this diff Show more