Commit graph

386 commits

Author SHA1 Message Date
Andrew Ekstedt
9d7cc07836 Fix failing tests. 2015-05-25 22:16:22 -07:00
Andrew Ekstedt
455174f19d Move PokemonMove back where it belongs.
Since we're mucking around with sqlalchemy core, all the tables that
PokemonMove references need to be defined already, so VersionGroup needs to
move up.
2015-05-25 21:25:36 -07:00
Andrew Ekstedt
1d43c767e1 Remove old PokemonMove table and redistribute its column docs. 2015-05-25 21:19:27 -07:00
Andrew Ekstedt
3ace3d8aa3 Split pokemon_moves into three tables.
The idea here is to split each pokemon's moveset into sub-movesets which can be
re-used across versions.

Thanks to some mapper magic, this should be more or less transparent to users
of pokedex. Although i'm sure inserting new moves will be a pain.

Before:

pokemon_moves: 312,305 rows

After:

pokemon_movesets: 11,268 rows
pokemon_moveset_moves: 123,645 rows
pokemon_moveset_version_groups: 23,597 rows
total: 158,510 rows
2015-05-25 18:08:42 -07:00
Andrew Ekstedt
76ad6391fc Document Type.target_efficacies and Type.damage_efficacies.
I can't keep them straight.
2015-05-24 23:12:21 -07:00
Andrew Ekstedt
02b1968bc5 "Fix" MultilangQuery.
SQLAlchemy 1.0 sets bindpararms to their default values when loading
lazy-loaded columns. This is in contrast to the 0.9 behaviour of
ignoring our incongruous bindparam alltogether.

So MultilangQuery is still broken, but now it breaks in the same way as before.

While we're here, set the correct param in one of the multilang tests. Not that
it matters.
2015-05-23 18:26:09 -07:00
Lynn "Zhorken" Vaughan
7ddecd527d Call characteristics "characteristics". #132 2014-07-28 19:01:33 -04:00
Petr Viktorin
df945eb601 Fix drain/recoil name in MoveMeta
The column was named recoil, but positive values meant
drain.
Rename the column, and introduce a hybrid property for
recoil.
2014-07-09 10:47:36 -07:00
Andrew Ekstedt
29824c73f4 Tweak Pokemon width/height docstrings 2014-07-06 12:17:11 -07:00
Andrew Ekstedt
5f54b3057d Fix PokemonForm.form_order docstring 2014-07-06 12:17:11 -07:00
Andrew Ekstedt
19d7335399 Remove some lies about encounter slots 2014-07-05 16:50:43 -07:00
Andrew Ekstedt
159eea093a Address some XXX comments 2014-07-05 16:50:24 -07:00
Andrew Ekstedt
cd04629404 PEP 257, yo
Put the closing quote of single-line docstrings on the same line, and
end with a period.

Just tables.py for now.
2014-07-05 16:48:58 -07:00
Andrew Ekstedt
6f5abb9540 Put column descriptions where they belong
The Column class accepts a 'doc' argument. Use it.

And while we're at it, make them all unicode strings.

Performed by the following sed script:

   s/info=dict(description=u\?\("[^"]*"\))/doc=u\1/
   s/info=dict(description=u\?\('[^']*'\))/doc=u\1/
   s/\(\s*\)info=dict(description=u\?\("[^"]*"\), /\1doc=u\2,\n\1info=dict(/
   s/\(\s*\)info=dict(description=u\?\('[^']*'\), /\1doc=u\2,\n\1info=dict(/

   /info=dict(description=u\?\('[^']*'\),$/ {
       s//doc=u\1,/
       n
       s/^\s*/&info=dict(/
   }
2014-07-05 16:46:37 -07:00
Andrew Ekstedt
195cdd2ea2 Fix typos in table docs
Also, remove a stray detail=True from an info dict.
2014-07-04 12:43:03 -07:00
Andrew Ekstedt
16c1d2c278 Fix natures.game_index 2014-07-03 17:25:26 -07:00
Andrew Ekstedt
341f6bbc83 Add internal IDs for types 2014-07-03 16:55:33 -07:00
Lynn "Zhorken" Vaughan
f4b73bcd5a Clarify that natures.game_index is 1-indexed.
Given that nature was determined by pid % 25 for a long time, I think
this is important to note.
2014-06-21 22:50:12 -04:00
Lynn "Zhorken" Vaughan
a71e4a2c13 Add game indices for natures.
I'm assuming (and I'm 99% sure I'm right) that the internal order for
natures has never changed.
2014-06-21 22:27:56 -04:00
Lynn "Zhorken" Vaughan
7286ba0254 Delete all the blank rows in pokemon_form_names.
All the tests still pass and everything.  We literally did not need them
after that innerjoin=True got commented out.
2014-06-11 22:22:32 -04:00
Lynn "Zhorken" Vaughan
63dac87a40 Dump translations for official languages by default.
I don't really like this but ehhhhhhh, the system for prose
translations seems to be to keep them in csv/translations/, and I can't
figure out how you're supposed to DO that, plus judging by the age of
the single file that's in there, that seems to be where translations go
to die.
2014-06-01 19:44:32 -04:00
Andrew Ekstedt
8d42445ae0 Fix typo in Machine.machine_number docstring. 2014-05-19 21:31:58 -07:00
Lynn "Zhorken" Vaughan
2626cf6304 Use null power instead of 0/1 power.
<Zhorken> I'd like to motion (again) that 0 and 1 power both be stored
    as null
<Zhorken> and — or * be displayed based on damage class
<Zhorken> which is what determines 0 vs 1 anyway, with the arbitrary
    who-fucking-cares exception of Me First
<eevee> the ayes have it
<Zhorken> awesome
<eevee> that's a good idea i don't remember its being motioned the
    first time
<Zhorken> I definitely remember arguing it when B/W released
2014-05-19 21:37:48 -04:00
Andrew Ekstedt
99184a6fde Knock Unicode(256) down to Unicode(79)
MySQL again. Indexed keys have a maximum length of 767 bytes and unicode
is stored as 3 bytes per character. Since 256*3 = 768, that pushes us
just past the limit. Could lower the length to 255 characters, but let's
go further - currently only names and identifers have a length limit,
and if a name or identifier doesn't fit in a terminal then i don't want
to see it.

Fixes issue #123.
2014-05-13 23:26:07 -07:00
Andrew Ekstedt
9e3bfd7971 Use Unicode(256) for names and identifiers.
MySQL requires that text columns that are indexed or used as keys be
given a maximum length.

256 bytes should be enough for anyone.
2014-03-13 00:29:49 -07:00
Lynn "Zhorken" Vaughan
7462c0fc1b Put short_effect before effect in ability_prose.
This way it matches /all the other prose tables/.  Relatedly, all the
abilities I recently expanded on had short_effect and effect swapped,
so I fixed that too.
2014-03-12 12:18:37 -04:00
Lynn "Zhorken" Vaughan
308f5f4ed9 Use UnicodeText for all text columns. 2014-03-11 20:15:16 -04:00
Lynn "Zhorken" Vaughan
5ddbee886f Update the docstring on rewrite_long_table_names. 2014-02-21 17:59:52 -05:00
Lynn "Zhorken" Vaughan
f54a4caaca General code tidying for this Oracle fix. 2014-02-21 17:48:19 -05:00
Lynn "Zhorken" Vaughan
5b759feaa2 Sort out all the non-nullable columns with empty values. 2014-02-21 17:48:19 -05:00
Epithumia
7b2743be75 Dynamically mangle long table names for Oracle; Unicode → UnicodeText. 2014-02-21 17:47:55 -05:00
Andrew Ekstedt
717e52b66a Limit Unicode columns to 4000 characters. Fixes #102.
This is the maximum length of an NVARCHAR column in SQL Server 2012.[1]

Our longest bit of prose is currently Substitute's effect, at 3180
characters.

[1]: http://technet.microsoft.com/en-us/library/ms186939.aspx
2013-11-16 16:50:15 -08:00
Andrew Ekstedt
7bb20406b7 Don't import * from sqlalchemy.types 2013-11-16 16:03:37 -08:00
Lynn "Zhorken" Vaughan
5ec50ea26c Make the rest of the tests pass. 2013-11-09 03:49:09 -05:00
Lynn "Zhorken" Vaughan
9394c747cb Add new evolution info. 2013-11-06 11:51:44 -05:00
Lynn "Zhorken" Vaughan
66071291a6 Split Pokédex version groups into their own table again.
spline-pokedex doesn't need to adapt; Pokedex.version_groups looks the
same as always and VersionGroup.pokedex wasn't used anywhere.
2013-11-06 09:47:49 -05:00
Lynn "Zhorken" Vaughan
136359cf4a Tweak a couple new ability descriptions. 2013-11-05 11:27:09 -05:00
Andrew Ekstedt
e151162a8b Add identifiers for version groups. 2013-11-01 14:34:51 -07:00
Andrew Ekstedt
94f120421c Add Pokemon.base_stat method. 2013-10-31 16:08:32 -07:00
Andrew Ekstedt
b412bfaa8e Add is_mega column to pokemon_forms. 2013-10-28 12:21:58 -07:00
Lynn "Zhorken" Vaughan
3a117f8dfd Add identifiers for pokemon and pokemon_forms. 2013-10-28 03:14:36 -04:00
Andrew Ekstedt
95fec6065f Remove another innerjoin.
Shadow moves have no MoveMeta.
2013-10-27 15:31:20 -07:00
Andrew Ekstedt
fdf87cf8ce Remove some innerjoins which no longer hold. 2013-10-19 15:22:16 -07:00
Andrew Ekstedt
38ce28e48f Drop Generation.canonical_pokedex.
Generation VI doesn't have a canonical pokedex (it has three). We don't
use this anywhere and as far as i can tell we never have. We can revive
it in another form if and when we find we need it.

Conflicts:
	pokedex/data/csv/generations.csv
	pokedex/db/tables.py
2013-10-18 18:58:07 -07:00
Eevee (Alex Munroe)
d667024937 Force MySQL to NOT auto-inc pokemon_moves.level. 2013-08-12 23:15:03 -07:00
Petr Viktorin
bbb3ab09e3 Add __tablename__ to translation tables
This makes it easier to write introspection scripts.
2013-08-07 14:13:04 +02:00
Lynn "Zhorken" Vaughan
e0beddc573 Add an is_main_series column to abilities. 2013-07-04 03:50:34 -04:00
Lynn "Zhorken" Vaughan
501a5ce74f Ditch server_default in conquest_pokemon_evolution. #96 2013-03-17 02:18:11 -04:00
Eevee
1cee46f0c0 Add a length back to color names; breaks MySQL otherwise. 2013-03-10 13:56:42 -07:00
Eevee
439eeffdd2 Why does color name have a length limit? I am stupid. 2013-02-07 00:47:07 -08:00