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 *
7 TableBase
= declarative_base(metadata
=metadata
)
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)
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)
24 class EggGroup(TableBase
):
25 __tablename__
= 'egg_groups'
26 id = Column(Integer
, primary_key
=True, nullable
=False)
27 name
= Column(Unicode(16), nullable
=False)
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))
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)
42 class Generation(TableBase
):
43 __tablename__
= 'generations'
44 id = Column(Integer
, primary_key
=True, nullable
=False)
45 name
= Column(Unicode(16), nullable
=False)
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)
53 class Language(TableBase
):
54 __tablename__
= 'languages'
55 id = Column(Integer
, primary_key
=True, nullable
=False)
56 name
= Column(Unicode(16), nullable
=False)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
153 class Stat(TableBase
):
154 __tablename__
= 'stats'
155 id = Column(Integer
, primary_key
=True, nullable
=False)
156 name
= Column(Unicode(16), nullable
=False)
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)
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)
170 class VersionGroup(TableBase
):
171 __tablename__
= 'version_groups'
172 id = Column(Integer
, primary_key
=True, nullable
=False)
173 generation_id
= Column(Integer
, nullable
=False)
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)