Added Trozei sprites.
[zzz-pokedex.git] / pokedex / db / tables.py
1 from sqlalchemy import Column, MetaData, Table
2 from sqlalchemy.ext.declarative import declarative_base
3 from sqlalchemy.types import *
4 from sqlalchemy.databases.mysql import *
5
6 metadata = MetaData()
7 TableBase = declarative_base(metadata=metadata)
8
9 class Ability(TableBase):
10 __tablename__ = 'abilities'
11 id = Column(Integer, primary_key=True, nullable=False)
12 name = Column(Unicode(24), nullable=False)
13 flavor_text = Column(Unicode(64), nullable=False)
14 effect = Column(Unicode(255), nullable=False)
15
16 class ContestEffect(TableBase):
17 __tablename__ = 'contest_effects'
18 id = Column(Integer, primary_key=True, nullable=False)
19 appeal = Column(SmallInteger, nullable=False)
20 jam = Column(SmallInteger, nullable=False)
21 flavor = Column(Unicode(255), nullable=False)
22 effect = Column(Unicode(255), nullable=False)
23
24 class EggGroup(TableBase):
25 __tablename__ = 'egg_groups'
26 id = Column(Integer, primary_key=True, nullable=False)
27 name = Column(Unicode(16), nullable=False)
28
29 class EvolutionChain(TableBase):
30 __tablename__ = 'evolution_chains'
31 id = Column(Integer, primary_key=True, nullable=False)
32 growth_rate_id = Column(Integer, nullable=False)
33 steps_to_hatch = Column(Integer, nullable=False)
34 baby_trigger_item = Column(Unicode(12))
35
36 class EvolutionMethod(TableBase):
37 __tablename__ = 'evolution_methods'
38 id = Column(Integer, primary_key=True, nullable=False)
39 name = Column(Unicode(64), nullable=False)
40 description = Column(Unicode(255), nullable=False)
41
42 class Generation(TableBase):
43 __tablename__ = 'generations'
44 id = Column(Integer, primary_key=True, nullable=False)
45 name = Column(Unicode(16), nullable=False)
46
47 class GrowthRate(TableBase):
48 __tablename__ = 'growth_rates'
49 id = Column(Integer, primary_key=True, nullable=False)
50 name = Column(Unicode(16), nullable=False)
51 formula = Column(Unicode(255), nullable=False)
52
53 class Language(TableBase):
54 __tablename__ = 'languages'
55 id = Column(Integer, primary_key=True, nullable=False)
56 name = Column(Unicode(16), nullable=False)
57
58 class MoveEffect(TableBase):
59 __tablename__ = 'move_effects'
60 id = Column(Integer, primary_key=True, nullable=False)
61 priority = Column(SmallInteger, nullable=False)
62 short_effect = Column(Unicode(128), nullable=False)
63 effect = Column(Unicode(255), nullable=False)
64
65 class MoveTarget(TableBase):
66 __tablename__ = 'move_targets'
67 id = Column(Integer, primary_key=True, nullable=False)
68 name = Column(Unicode(32), nullable=False)
69 description = Column(Unicode(128), nullable=False)
70
71 class Move(TableBase):
72 __tablename__ = 'moves'
73 id = Column(Integer, primary_key=True, nullable=False)
74 name = Column(Unicode(12), nullable=False)
75 type_id = Column(Integer, nullable=False)
76 power = Column(SmallInteger)
77 pp = Column(SmallInteger, nullable=False)
78 accuracy = Column(SmallInteger)
79 target_id = Column(Integer, nullable=False)
80 category = Column(Unicode(8), nullable=False)
81 effect_id = Column(Integer, nullable=False)
82 effect_chance = Column(Integer)
83 contest_type = Column(Unicode(8), nullable=False)
84 contest_effect_id = Column(Integer, nullable=False)
85 super_contest_effect_id = Column(Integer, nullable=False)
86
87 class Pokemon(TableBase):
88 __tablename__ = 'pokemon'
89 id = Column(Integer, primary_key=True, nullable=False)
90 name = Column(Unicode(20), nullable=False)
91 forme_name = Column(Unicode(16))
92 forme_base_pokemon_id = Column(Integer)
93 evolution_chain_id = Column(Integer, nullable=False)
94 evolution_parent_pokemon_id = Column(Integer)
95 evolution_method_id = Column(Integer)
96 evolution_parameter = Column(Unicode(32))
97 height = Column(Integer, nullable=False)
98 weight = Column(Integer, nullable=False)
99 species = Column(Unicode(16), nullable=False)
100 color = Column(Unicode(6), nullable=False)
101 habitat = Column(Unicode(16), nullable=False)
102 gender_rate = Column(Integer, nullable=False)
103 capture_rate = Column(Integer, nullable=False)
104 base_experience = Column(Integer, nullable=False)
105 base_happiness = Column(Integer, nullable=False)
106 gen1_internal_id = Column(Integer)
107 is_baby = Column(Boolean, nullable=False)
108 has_dp_fem_sprite = Column(Boolean, nullable=False)
109 has_dp_fem_back_sprite = Column(Boolean, nullable=False)
110
111 class PokemonAbility(TableBase):
112 __tablename__ = 'pokemon_abilities'
113 pokemon_id = Column(Integer, primary_key=True, nullable=False)
114 ability_id = Column(Integer, nullable=False)
115 slot = Column(Integer, primary_key=True, nullable=False)
116
117 class PokemonDexNumber(TableBase):
118 __tablename__ = 'pokemon_dex_numbers'
119 pokemon_id = Column(Integer, primary_key=True, nullable=False)
120 generation_id = Column(Integer, primary_key=True, nullable=False)
121 pokedex_number = Column(Integer, nullable=False)
122
123 class PokemonEggGroup(TableBase):
124 __tablename__ = 'pokemon_egg_groups'
125 pokemon_id = Column(Integer, primary_key=True, nullable=False)
126 egg_group_id = Column(Integer, primary_key=True, nullable=False)
127
128 class PokemonFlavorText(TableBase):
129 __tablename__ = 'pokemon_flavor_text'
130 pokemon_id = Column(Integer, primary_key=True, nullable=False)
131 version_id = Column(Integer, primary_key=True, nullable=False)
132 flavor = Column(Unicode(255), nullable=False)
133
134 class PokemonName(TableBase):
135 __tablename__ = 'pokemon_names'
136 pokemon_id = Column(Integer, primary_key=True, nullable=False)
137 language_id = Column(Integer, primary_key=True, nullable=False)
138 name = Column(Unicode(16), nullable=False)
139
140 class PokemonStat(TableBase):
141 __tablename__ = 'pokemon_stats'
142 pokemon_id = Column(Integer, primary_key=True, nullable=False)
143 stat_id = Column(Integer, primary_key=True, nullable=False)
144 base_stat = Column(Integer, nullable=False)
145 effort = Column(Integer, nullable=False)
146
147 class PokemonType(TableBase):
148 __tablename__ = 'pokemon_types'
149 pokemon_id = Column(Integer, primary_key=True, nullable=False)
150 type_id = Column(Integer, nullable=False)
151 slot = Column(Integer, primary_key=True, nullable=False)
152
153 class Stat(TableBase):
154 __tablename__ = 'stats'
155 id = Column(Integer, primary_key=True, nullable=False)
156 name = Column(Unicode(16), nullable=False)
157
158 class TypeEfficacy(TableBase):
159 __tablename__ = 'type_efficacy'
160 damage_type_id = Column(Integer, primary_key=True, nullable=False)
161 target_type_id = Column(Integer, primary_key=True, nullable=False)
162 damage_factor = Column(Integer, nullable=False)
163
164 class Type(TableBase):
165 __tablename__ = 'types'
166 id = Column(Integer, primary_key=True, nullable=False)
167 name = Column(Unicode(8), nullable=False)
168 abbreviation = Column(Unicode(3), nullable=False)
169
170 class VersionGroup(TableBase):
171 __tablename__ = 'version_groups'
172 id = Column(Integer, primary_key=True, nullable=False)
173 generation_id = Column(Integer, nullable=False)
174
175 class Version(TableBase):
176 __tablename__ = 'versions'
177 id = Column(Integer, primary_key=True, nullable=False)
178 version_group_id = Column(Integer, nullable=False)
179 name = Column(Unicode(32), nullable=False)