Skip to content

Commit b7eb083

Browse files
authored
Merge pull request #848 from revoice1/Add-previous-abilities
2 parents 07c8b5c + f7367fa commit b7eb083

File tree

12 files changed

+233
-3
lines changed

12 files changed

+233
-3
lines changed

data/v2/build.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1913,6 +1913,19 @@ def csv_record_to_objects(info):
19131913

19141914
build_generic((PokemonAbility,), "pokemon_abilities.csv", csv_record_to_objects)
19151915

1916+
def csv_record_to_objects(info):
1917+
yield PokemonAbilityPast(
1918+
pokemon_id=int(info[0]),
1919+
generation_id=int(info[1]),
1920+
ability_id=int(info[2]),
1921+
is_hidden=bool(int(info[3])),
1922+
slot=int(info[4]),
1923+
)
1924+
1925+
build_generic(
1926+
(PokemonAbilityPast,), "pokemon_abilities_past.csv", csv_record_to_objects
1927+
)
1928+
19161929
def csv_record_to_objects(info):
19171930
yield PokemonDexNumber(
19181931
pokemon_species_id=int(info[0]),
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
pokemon_id,generation_id,ability_id,is_hidden,slot
2+
94,6,26,0,1
3+
145,5,31,1,3
4+
243,6,10,1,3
5+
244,6,18,1,3
6+
245,6,11,1,3
7+
543,5,95,1,3
8+
544,5,95,1,3
9+
545,5,95,1,3
10+
607,5,23,1,3
11+
608,5,23,1,3
12+
609,5,23,1,3

graphql/metadata/databases/databases.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
from_env: HASURA_GRAPHQL_DATABASE_URL
77
isolation_level: read-committed
88
pool_settings:
9+
connection_lifetime: 60
910
idle_timeout: 20
1011
max_connections: 10
11-
retries: 1
1212
pool_timeout: 60
13-
connection_lifetime: 60
13+
retries: 1
1414
use_prepared_statements: false
1515
tables: "!include default/tables/tables.yaml"

graphql/metadata/databases/default/tables/public_pokemon_v2_ability.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,13 @@ array_relationships:
4141
table:
4242
name: pokemon_v2_pokemonability
4343
schema: public
44+
- name: pokemon_v2_pokemonabilitypasts
45+
using:
46+
foreign_key_constraint_on:
47+
column: ability_id
48+
table:
49+
name: pokemon_v2_pokemonabilitypast
50+
schema: public
4451
select_permissions:
4552
- permission:
4653
allow_aggregations: true

graphql/metadata/databases/default/tables/public_pokemon_v2_generation.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,13 @@ array_relationships:
4141
table:
4242
name: pokemon_v2_move
4343
schema: public
44+
- name: pokemon_v2_pokemonabilitypasts
45+
using:
46+
foreign_key_constraint_on:
47+
column: generation_id
48+
table:
49+
name: pokemon_v2_pokemonabilitypast
50+
schema: public
4451
- name: pokemon_v2_pokemonformgenerations
4552
using:
4653
foreign_key_constraint_on:

graphql/metadata/databases/default/tables/public_pokemon_v2_pokemon.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@ array_relationships:
2020
table:
2121
name: pokemon_v2_pokemonability
2222
schema: public
23+
- name: pokemon_v2_pokemonabilitypasts
24+
using:
25+
foreign_key_constraint_on:
26+
column: pokemon_id
27+
table:
28+
name: pokemon_v2_pokemonabilitypast
29+
schema: public
2330
- name: pokemon_v2_pokemonforms
2431
using:
2532
foreign_key_constraint_on:
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
table:
2+
name: pokemon_v2_pokemonabilitypast
3+
schema: public
4+
object_relationships:
5+
- name: pokemon_v2_ability
6+
using:
7+
foreign_key_constraint_on: ability_id
8+
- name: pokemon_v2_generation
9+
using:
10+
foreign_key_constraint_on: generation_id
11+
- name: pokemon_v2_pokemon
12+
using:
13+
foreign_key_constraint_on: pokemon_id

graphql/metadata/databases/default/tables/tables.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@
107107
- "!include public_pokemon_v2_pokedexversiongroup.yaml"
108108
- "!include public_pokemon_v2_pokemon.yaml"
109109
- "!include public_pokemon_v2_pokemonability.yaml"
110+
- "!include public_pokemon_v2_pokemonabilitypast.yaml"
110111
- "!include public_pokemon_v2_pokemoncolor.yaml"
111112
- "!include public_pokemon_v2_pokemoncolorname.yaml"
112113
- "!include public_pokemon_v2_pokemondexnumber.yaml"
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Generated by Django 2.1.15 on 2023-02-27 15:33
2+
3+
from django.db import migrations, models
4+
import django.db.models.deletion
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
("pokemon_v2", "0012_auto_20220626_1402"),
11+
]
12+
13+
operations = [
14+
migrations.CreateModel(
15+
name="PokemonAbilityPast",
16+
fields=[
17+
(
18+
"id",
19+
models.AutoField(
20+
auto_created=True,
21+
primary_key=True,
22+
serialize=False,
23+
verbose_name="ID",
24+
),
25+
),
26+
("is_hidden", models.BooleanField(default=False)),
27+
("slot", models.IntegerField()),
28+
(
29+
"ability",
30+
models.ForeignKey(
31+
blank=True,
32+
null=True,
33+
on_delete=django.db.models.deletion.CASCADE,
34+
related_name="pokemonabilitypast",
35+
to="pokemon_v2.Ability",
36+
),
37+
),
38+
(
39+
"generation",
40+
models.ForeignKey(
41+
blank=True,
42+
null=True,
43+
on_delete=django.db.models.deletion.CASCADE,
44+
related_name="pokemonabilitypast",
45+
to="pokemon_v2.Generation",
46+
),
47+
),
48+
(
49+
"pokemon",
50+
models.ForeignKey(
51+
blank=True,
52+
null=True,
53+
on_delete=django.db.models.deletion.CASCADE,
54+
related_name="pokemonabilitypast",
55+
to="pokemon_v2.Pokemon",
56+
),
57+
),
58+
],
59+
options={
60+
"abstract": False,
61+
},
62+
),
63+
]

pokemon_v2/models.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1689,6 +1689,14 @@ class PokemonAbility(HasPokemon, HasAbility):
16891689
slot = models.IntegerField()
16901690

16911691

1692+
# model for a Pokemon's abilities that were used until a given generation
1693+
class PokemonAbilityPast(HasPokemon, HasAbility, HasGeneration):
1694+
1695+
is_hidden = models.BooleanField(default=False)
1696+
1697+
slot = models.IntegerField()
1698+
1699+
16921700
class PokemonColor(HasName):
16931701
pass
16941702

0 commit comments

Comments
 (0)