X-Git-Url: http://git.veekun.com/zzz-pokedex.git/blobdiff_plain/57da365ed4962e96fed4fc0b7ef8d9db7a58b712..71a6e529a593aed38d5a7898b50df5cdbaefc004:/pokedex/db/tables.py diff --git a/pokedex/db/tables.py b/pokedex/db/tables.py index c8d4ea1..b9a5fea 100644 --- a/pokedex/db/tables.py +++ b/pokedex/db/tables.py @@ -17,8 +17,15 @@ class Ability(TableBase): __singlename__ = 'ability' id = Column(Integer, primary_key=True, nullable=False) name = Column(Unicode(24), nullable=False) + generation_id = Column(Integer, ForeignKey('generations.id'), nullable=False) + effect = Column(rst.RstTextColumn(5120), nullable=False) + short_effect = Column(rst.RstTextColumn(255), nullable=False) + +class AbilityFlavorText(TableBase): + __tablename__ = 'ability_flavor_text' + ability_id = Column(Integer, ForeignKey('abilities.id'), primary_key=True, nullable=False, autoincrement=False) + version_group_id = Column(Integer, ForeignKey('version_groups.id'), primary_key=True, nullable=False, autoincrement=False) flavor_text = Column(Unicode(64), nullable=False) - effect = Column(Unicode(255), nullable=False) class Berry(TableBase): __tablename__ = 'berries' @@ -628,6 +635,11 @@ class Version(TableBase): ### Relations down here, to avoid ordering problems +Ability.flavor_text = relation(AbilityFlavorText, order_by=AbilityFlavorText.version_group_id, backref='abilities') +Ability.generation = relation(Generation, backref='abilities') + +AbilityFlavorText.version_group = relation(VersionGroup) + Berry.berry_firmness = relation(BerryFirmness, backref='berries') Berry.firmness = association_proxy('berry_firmness', 'name') Berry.flavors = relation(BerryFlavor, order_by=BerryFlavor.contest_type_id, backref='berry') @@ -773,7 +785,7 @@ Pokemon.items = relation(PokemonItem, backref='pokemon') Pokemon.generation = relation(Generation, backref='pokemon') Pokemon.shape = relation(PokemonShape, backref='pokemon') Pokemon.stats = relation(PokemonStat, backref='pokemon') -Pokemon.types = relation(Type, secondary=PokemonType.__table__) +Pokemon.types = relation(Type, secondary=PokemonType.__table__, order_by=PokemonType.slot.asc()) PokemonDexNumber.pokedex = relation(Pokedex)