X-Git-Url: http://git.veekun.com/zzz-pokedex.git/blobdiff_plain/ee57dfd4a3c77fc76231aff79ae68c9295d68613..a7b148dc3ea29942f009b93d7252ed0fc33bd65c:/pokedex/db/tables.py?ds=sidebyside diff --git a/pokedex/db/tables.py b/pokedex/db/tables.py index 31a4210..cedc6a4 100644 --- a/pokedex/db/tables.py +++ b/pokedex/db/tables.py @@ -127,10 +127,11 @@ class Generation(TableBase): main_region = Column(Unicode(16), nullable=False) class GrowthRate(TableBase): + """`formula` is written in LaTeX math notation.""" __tablename__ = 'growth_rates' id = Column(Integer, primary_key=True, nullable=False) - name = Column(Unicode(16), nullable=False) - formula = Column(Unicode(255), nullable=False) + name = Column(Unicode(20), nullable=False) + formula = Column(Unicode(500), nullable=False) class Item(TableBase): __tablename__ = 'items' @@ -155,6 +156,12 @@ class LocationArea(TableBase): internal_id = Column(Integer, nullable=False) name = Column(Unicode(64), nullable=True) +class Machine(TableBase): + __tablename__ = 'machines' + machine_number = Column(Integer, primary_key=True, nullable=False, autoincrement=False) + generation_id = Column(Integer, ForeignKey('generations.id'), primary_key=True, nullable=False, autoincrement=False) + move_id = Column(Integer, ForeignKey('moves.id'), nullable=False) + class MoveEffect(TableBase): __tablename__ = 'move_effects' id = Column(Integer, primary_key=True, nullable=False) @@ -296,7 +303,7 @@ class PokemonMove(TableBase): version_group_id = Column(Integer, ForeignKey('version_groups.id'), primary_key=True, nullable=False, autoincrement=False) move_id = Column(Integer, ForeignKey('moves.id'), primary_key=True, nullable=False, autoincrement=False, index=True) pokemon_move_method_id = Column(Integer, ForeignKey('pokemon_move_methods.id'), primary_key=True, nullable=False, autoincrement=False) - level = Column(Integer, primary_key=True, nullable=True) + level = Column(Integer, primary_key=True, nullable=True, autoincrement=False) order = Column(Integer, nullable=True) class PokemonMoveMethod(TableBase): @@ -375,6 +382,12 @@ EvolutionChain.growth_rate = relation(GrowthRate, backref='evolution_chains') LocationArea.location = relation(Location, backref='areas') +Machine.generation = relation(Generation) + +Move.type = relation(Type, backref='moves') +Move.effect = relation(MoveEffect, backref='moves') +Move.machines = relation(Machine, backref='move') + Pokemon.abilities = relation(Ability, secondary=PokemonAbility.__table__, order_by=PokemonAbility.slot, backref='pokemon') @@ -430,3 +443,5 @@ Type.target_efficacies = relation(TypeEfficacy, Version.generation = relation(Generation, secondary=VersionGroup.__table__, backref='versions') Version.version_group = relation(VersionGroup, backref='versions') + +VersionGroup.generation = relation(Generation, backref='version_groups')