-id,name,description
-1,National,
-2,Kanto,
-3,Johto,"Gold/Silver/Crystal Johto dex: called the ""New"" Pokédex in-game"
-4,Hoenn,
-5,Sinnoh,Diamond/Pearl Sinnoh dex
-6,Sinnoh,Platinum Sinnoh dex: an extended version of Diamond and Pearl's
-7,Johto,"HeartGold/SoulSilver Johto dex: a slightly extended version of Gold, Silver, and Crystal's, adding five Generation IV evolutions of Generation I and Generation II Pokémon"
-8,Internal ID,IDs used internally in Generation I
+id,region_id,name,description
+1,,National,Entire National dex
+2,1,Kanto,Red/Blue/Yellow Kanto dex
+3,2,Johto,"Gold/Silver/Crystal Johto dex—called the ""New"" Pokédex in-game"
+4,3,Hoenn,Ruby/Sapphire/Emerald Hoenn dex
+5,4,Sinnoh,Diamond/Pearl Sinnoh dex
+6,4,Sinnoh,Platinum Sinnoh dex—an extended version of Diamond and Pearl's
+7,2,Johto,"HeartGold/SoulSilver Johto dex—Gold/Silver/Crystal's, extended to add Generation IV evolutions"
+8,1,Internal ID,IDs used internally in Generation I
__tablename__ = 'generations'
id = Column(Integer, primary_key=True, nullable=False)
main_region_id = Column(Integer, ForeignKey('regions.id'))
+ canonical_pokedex_id = Column(Integer, ForeignKey('pokedexes.id'))
name = Column(Unicode(16), nullable=False)
class GrowthRate(TableBase):
class Pokedex(TableBase):
__tablename__ = 'pokedexes'
id = Column(Integer, primary_key=True, nullable=False)
+ region_id = Column(Integer, ForeignKey('regions.id'), nullable=True)
name = Column(Unicode(16), nullable=False)
description = Column(Unicode(512))
EvolutionChain.growth_rate = relation(GrowthRate, backref='evolution_chains')
+Generation.canonical_pokedex = relation(Pokedex, backref='canonical_for_generation')
Generation.versions = relation(Version, secondary=VersionGroup.__table__)
Generation.main_region = relation(Region)
Nature.increased_stat = relation(Stat, primaryjoin=Nature.increased_stat_id==Stat.id,
backref='increasing_natures')
-Pokedex.version_groups = relation(VersionGroup, secondary=PokedexVersionGroup.__table__)
+Pokedex.region = relation(Region, backref='pokedexes')
+Pokedex.version_groups = relation(VersionGroup, secondary=PokedexVersionGroup.__table__, backref='pokedexes')
Pokemon.abilities = relation(Ability, secondary=PokemonAbility.__table__,
order_by=PokemonAbility.slot,