-id,name,abbreviation
-1,normal,NRM
-2,fighting,FGT
-3,flying,FLY
-4,poison,PSN
-5,ground,GRN
-6,rock,RCK
-7,bug,BUG
-8,ghost,GST
-9,steel,STL
-10,fire,FIR
-11,water,WTR
-12,grass,GRS
-13,electric,ELE
-14,psychic,PSY
-15,ice,ICE
-16,dragon,DRG
-17,dark,DAR
-18,???,???
+id,name,abbreviation,generation_id,damage_class_id
+1,normal,NRM,1,2
+2,fighting,FGT,1,2
+3,flying,FLY,1,2
+4,poison,PSN,1,2
+5,ground,GRN,1,2
+6,rock,RCK,1,2
+7,bug,BUG,1,2
+8,ghost,GST,1,2
+9,steel,STL,2,2
+10,fire,FIR,1,3
+11,water,WTR,1,3
+12,grass,GRS,1,3
+13,electric,ELE,1,3
+14,psychic,PSY,1,3
+15,ice,ICE,1,3
+16,dragon,DRG,1,3
+17,dark,DAR,2,3
+18,???,???,2,1
id = Column(Integer, primary_key=True, nullable=False)
name = Column(Unicode(8), nullable=False)
abbreviation = Column(Unicode(3), nullable=False)
+ generation_id = Column(Integer, ForeignKey('generations.id'), nullable=False)
+ damage_class_id = Column(Integer, ForeignKey('move_damage_classes.id'), nullable=False) ## ??? is none; everything else is physical or special
class VersionGroup(TableBase):
__tablename__ = 'version_groups'
==TypeEfficacy.target_type_id,
backref='target_type')
+Type.generation = relation(Generation, backref='types')
+Type.damage_class = relation(MoveDamageClass, backref='types')
+
Version.version_group = relation(VersionGroup, backref='versions')
Version.generation = association_proxy('version_group', 'generation')