From 66071291a681364552951a9a87ff3328868ebf88 Mon Sep 17 00:00:00 2001 From: "Lynn \"Zhorken\" Vaughan" Date: Wed, 6 Nov 2013 08:51:28 -0500 Subject: [PATCH] =?UTF-8?q?Split=20Pok=C3=A9dex=20version=20groups=20into?= =?UTF-8?q?=20their=20own=20table=20again.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit spline-pokedex doesn't need to adapt; Pokedex.version_groups looks the same as always and VersionGroup.pokedex wasn't used anywhere. --- pokedex/data/csv/pokedex_version_groups.csv | 16 +++++++++++ pokedex/data/csv/version_groups.csv | 32 ++++++++++----------- pokedex/db/tables.py | 16 +++++++++-- 3 files changed, 45 insertions(+), 19 deletions(-) create mode 100644 pokedex/data/csv/pokedex_version_groups.csv diff --git a/pokedex/data/csv/pokedex_version_groups.csv b/pokedex/data/csv/pokedex_version_groups.csv new file mode 100644 index 0000000..bf960c1 --- /dev/null +++ b/pokedex/data/csv/pokedex_version_groups.csv @@ -0,0 +1,16 @@ +pokedex_id,version_group_id +2,1 +2,2 +2,7 +3,3 +3,4 +4,5 +4,6 +5,8 +6,9 +7,10 +8,11 +9,14 +12,15 +13,15 +14,15 diff --git a/pokedex/data/csv/version_groups.csv b/pokedex/data/csv/version_groups.csv index 0ee2720..46eb881 100644 --- a/pokedex/data/csv/version_groups.csv +++ b/pokedex/data/csv/version_groups.csv @@ -1,16 +1,16 @@ -id,identifier,generation_id,pokedex_id,order -1,red-blue,1,2,1 -2,yellow,1,2,2 -3,gold-silver,2,3,3 -4,crystal,2,3,4 -5,ruby-sapphire,3,4,5 -6,emerald,3,4,6 -7,firered-leafgreen,3,2,9 -8,diamond-pearl,4,5,10 -9,platinum,4,6,11 -10,heartgold-soulsilver,4,7,12 -11,black-white,5,8,13 -12,colosseum,3,,7 -13,xd,3,,8 -14,black-2-white-2,5,9,14 -15,x-y,6,12,15 +id,identifier,generation_id,order +1,red-blue,1,1 +2,yellow,1,2 +3,gold-silver,2,3 +4,crystal,2,4 +5,ruby-sapphire,3,5 +6,emerald,3,6 +7,firered-leafgreen,3,9 +8,diamond-pearl,4,10 +9,platinum,4,11 +10,heartgold-soulsilver,4,12 +11,black-white,5,13 +12,colosseum,3,7 +13,xd,3,8 +14,black-2-white-2,5,14 +15,x-y,6,15 diff --git a/pokedex/db/tables.py b/pokedex/db/tables.py index c87283d..2499661 100644 --- a/pokedex/db/tables.py +++ b/pokedex/db/tables.py @@ -1503,6 +1503,17 @@ create_translation_table('pokedex_prose', Pokedex, 'prose', info=dict(description=u"A longer description of the Pokédex", format='plaintext')), ) +class PokedexVersionGroup(TableBase): + u"""A mapping from Pokédexes to version groups in which they appear as the + regional dex. + """ + __tablename__ = 'pokedex_version_groups' + __singlename__ = 'pokedex_version_group' + pokedex_id = Column(Integer, ForeignKey('pokedexes.id'), primary_key=True, + info=dict(description=u'The ID of the Pokédex.')) + version_group_id = Column(Integer, ForeignKey('version_groups.id'), primary_key=True, + info=dict(descruption=u'The ID of the version group.')) + class Pokemon(TableBase): u"""A Pokémon. The core to this whole mess. @@ -2084,8 +2095,6 @@ class VersionGroup(TableBase): info=dict(description=u"This version group's unique textual identifier.")) generation_id = Column(Integer, ForeignKey('generations.id'), nullable=False, info=dict(description=u"The ID of the generation the games in this group belong to.")) - pokedex_id = Column(Integer, ForeignKey('pokedexes.id'), nullable=True, - info=dict(description=u"The ID of the regional Pokédex used in this version group. Null if not applicable.")) order = Column(Integer, nullable=True, info=dict(description=u"Order for sorting. Almost by date of release, except similar versions are grouped together.")) @@ -2496,9 +2505,10 @@ Pokedex.region = relationship(Region, innerjoin=True, backref='pokedexes') Pokedex.version_groups = relationship(VersionGroup, + secondary=PokedexVersionGroup.__table__, innerjoin=True, order_by=VersionGroup.order.asc(), - backref='pokedex') + backref='pokedexes') Pokemon.all_abilities = relationship(Ability,