X-Git-Url: http://git.veekun.com/zzz-pokedex.git/blobdiff_plain/c8d3418f103c5b116919b171e9c874af3b691fc7..0b37ca809fe5f1c97b76f4e3e8a398caa40935fb:/pokedex/db/tables.py diff --git a/pokedex/db/tables.py b/pokedex/db/tables.py index bae2211..4d542e9 100644 --- a/pokedex/db/tables.py +++ b/pokedex/db/tables.py @@ -132,6 +132,11 @@ class GrowthRate(TableBase): name = Column(Unicode(16), nullable=False) formula = Column(Unicode(255), nullable=False) +class Item(TableBase): + __tablename__ = 'items' + id = Column(Integer, primary_key=True, nullable=False) + name = Column(Unicode(16), nullable=False) + class Language(TableBase): __tablename__ = 'languages' id = Column(Integer, primary_key=True, nullable=False) @@ -176,7 +181,7 @@ class Move(TableBase): effect_id = Column(Integer, ForeignKey('move_effects.id'), nullable=False) effect_chance = Column(Integer) contest_type = Column(Unicode(8), nullable=False) - contest_effect_id = Column(Integer, ForeignKey('contest_effects.id'), nullable=False) + contest_effect_id = Column(Integer, ForeignKey('contest_effects.id'), nullable=True) super_contest_effect_id = Column(Integer, nullable=False) class Pokemon(TableBase): @@ -270,7 +275,7 @@ class PokemonFlavorText(TableBase): class PokemonFormGroup(TableBase): __tablename__ = 'pokemon_form_groups' pokemon_id = Column(Integer, ForeignKey('pokemon.id'), primary_key=True, nullable=False, autoincrement=False) - description = Column(Unicode(255), nullable=False) + description = Column(Unicode(512), nullable=False) class PokemonFormSprite(TableBase): __tablename__ = 'pokemon_form_sprites' @@ -278,6 +283,13 @@ class PokemonFormSprite(TableBase): pokemon_id = Column(Integer, ForeignKey('pokemon.id'), primary_key=True, nullable=False, autoincrement=False) name = Column(Unicode(16), nullable=True) +class PokemonItem(TableBase): + __tablename__ = 'pokemon_items' + pokemon_id = Column(Integer, ForeignKey('pokemon.id'), primary_key=True, nullable=False, autoincrement=False) + version_id = Column(Integer, ForeignKey('versions.id'), primary_key=True, nullable=False, autoincrement=False) + item_id = Column(Integer, ForeignKey('items.id'), primary_key=True, nullable=False, autoincrement=False) + rarity = Column(Integer, nullable=False) + class PokemonName(TableBase): __tablename__ = 'pokemon_names' pokemon_id = Column(Integer, ForeignKey('pokemon.id'), primary_key=True, nullable=False, autoincrement=False) @@ -365,6 +377,7 @@ Pokemon.evolution_children = relation(Pokemon, primaryjoin=Pokemon.id==Pokemon.e remote_side=[Pokemon.id])) Pokemon.flavor_text = relation(PokemonFlavorText, backref='pokemon') Pokemon.foreign_names = relation(PokemonName, backref='pokemon') +Pokemon.items = relation(PokemonItem) Pokemon.generation = relation(Generation, backref='pokemon') Pokemon.shape = relation(PokemonShape, backref='pokemon') Pokemon.stats = relation(PokemonStat, backref='pokemon') @@ -374,6 +387,9 @@ PokemonDexNumber.generation = relation(Generation) PokemonFlavorText.version = relation(Version) +PokemonItem.item = relation(Item, backref='pokemon') +PokemonItem.version = relation(Version) + PokemonFormGroup.pokemon = relation(Pokemon, backref=backref('form_group', uselist=False)) PokemonFormSprite.pokemon = relation(Pokemon, backref='form_sprites')