X-Git-Url: http://git.veekun.com/zzz-pokedex.git/blobdiff_plain/abf31f8e520d12b53f1aba5405b202af09d56aca..b69949a6ef5febf5c8c0a66177b5a21e295709ca:/pokedex/db/tables.py diff --git a/pokedex/db/tables.py b/pokedex/db/tables.py index e71fc97..f366192 100644 --- a/pokedex/db/tables.py +++ b/pokedex/db/tables.py @@ -17,8 +17,10 @@ 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) flavor_text = Column(Unicode(64), nullable=False) - effect = Column(Unicode(255), nullable=False) class Berry(TableBase): __tablename__ = 'berries' @@ -628,6 +630,8 @@ class Version(TableBase): ### Relations down here, to avoid ordering problems +Ability.generation = relation(Generation, backref='abilities') + 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') @@ -667,6 +671,9 @@ Generation.canonical_pokedex = relation(Pokedex, backref='canonical_for_generati Generation.versions = relation(Version, secondary=VersionGroup.__table__) Generation.main_region = relation(Region) +GrowthRate.max_experience_obj = relation(Experience, primaryjoin=and_(Experience.growth_rate_id == GrowthRate.id, Experience.level == 100), uselist=False) +GrowthRate.max_experience = association_proxy('max_experience_obj', 'experience') + Item.berry = relation(Berry, uselist=False, backref='item') Item.flags = relation(ItemFlag, secondary=ItemFlagMap.__table__) Item.flavor_text = relation(ItemFlavorText, order_by=ItemFlavorText.version_group_id.asc(), backref='item')