Moved priority out of the move_effects table.
[zzz-pokedex.git] / pokedex / db / tables.py
index 52ce061..43b4226 100644 (file)
@@ -208,7 +208,7 @@ class Item(TableBase):
     __tablename__ = 'items'
     __singlename__ = 'item'
     id = Column(Integer, primary_key=True, nullable=False)
-    name = Column(Unicode(16), nullable=False)
+    name = Column(Unicode(20), nullable=False)
     category_id = Column(Integer, ForeignKey('item_categories.id'), nullable=False)
     cost = Column(Integer, nullable=False)
     fling_power = Column(Integer, nullable=True)
@@ -336,7 +336,6 @@ class MoveDamageClass(TableBase):
 class MoveEffect(TableBase):
     __tablename__ = 'move_effects'
     id = Column(Integer, primary_key=True, nullable=False)
-    priority = Column(SmallInteger, nullable=False)
     short_effect = Column(Unicode(256), nullable=False)
     effect = Column(Unicode(5120), nullable=False)
 
@@ -374,19 +373,20 @@ class Move(TableBase):
     __tablename__ = 'moves'
     __singlename__ = 'move'
     id = Column(Integer, primary_key=True, nullable=False)
-    name = Column(Unicode(12), nullable=False)
+    name = Column(Unicode(24), nullable=False)
     generation_id = Column(Integer, ForeignKey('generations.id'), nullable=False)
     type_id = Column(Integer, ForeignKey('types.id'), nullable=False)
-    power = Column(SmallInteger)
+    power = Column(SmallInteger, nullable=False)
     pp = Column(SmallInteger, nullable=False)
-    accuracy = Column(SmallInteger)
+    accuracy = Column(SmallInteger, nullable=True)
+    priority = Column(SmallInteger, nullable=False)
     target_id = Column(Integer, ForeignKey('move_targets.id'), nullable=False)
     damage_class_id = Column(Integer, ForeignKey('move_damage_classes.id'), nullable=False)
     effect_id = Column(Integer, ForeignKey('move_effects.id'), nullable=False)
     effect_chance = Column(Integer)
     contest_type_id = Column(Integer, ForeignKey('contest_types.id'), nullable=True)
     contest_effect_id = Column(Integer, ForeignKey('contest_effects.id'), nullable=True)
-    super_contest_effect_id = Column(Integer, ForeignKey('super_contest_effects.id'), nullable=False)
+    super_contest_effect_id = Column(Integer, ForeignKey('super_contest_effects.id'), nullable=True)
 
 class Nature(TableBase):
     __tablename__ = 'natures'
@@ -825,7 +825,6 @@ Move.target = relation(MoveTarget, backref='moves')
 Move.type = relation(Type, backref='moves')
 
 Move.effect = markdown.MoveEffectProperty('effect')
-Move.priority = association_proxy('move_effect', 'priority')
 Move.short_effect = markdown.MoveEffectProperty('short_effect')
 
 MoveEffect.category_map = relation(MoveEffectCategoryMap)
@@ -893,7 +892,7 @@ Pokemon.habitat = association_proxy('pokemon_habitat', 'name')
 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.stats = relation(PokemonStat, backref='pokemon', order_by=PokemonStat.stat_id.asc())
 Pokemon.types = relation(Type, secondary=PokemonType.__table__, order_by=PokemonType.slot.asc())
 
 PokemonDexNumber.pokedex = relation(Pokedex)