mirror of
https://github.com/veekun/pokedex.git
synced 2024-08-20 18:16:34 +00:00
36 lines
1 KiB
Python
36 lines
1 KiB
Python
|
# Encoding: UTF-8
|
||
|
"""Fill the version_group_pokemon_move_methods table
|
||
|
|
||
|
This is an unmaintained one-shot script, only included in the repo for reference.
|
||
|
|
||
|
|
||
|
"""
|
||
|
|
||
|
|
||
|
from sqlalchemy.sql import exists, func
|
||
|
from sqlalchemy.orm import lazyload
|
||
|
from sqlalchemy import and_, or_, not_
|
||
|
|
||
|
from pokedex.db import connect, tables, load
|
||
|
|
||
|
session = connect()
|
||
|
|
||
|
session.query(tables.VersionGroupPokemonMoveMethod).delete()
|
||
|
|
||
|
q = session.query(tables.VersionGroup, tables.PokemonMoveMethod)
|
||
|
q = q.filter(exists().where(and_(
|
||
|
tables.PokemonMove.pokemon_move_method_id == tables.PokemonMoveMethod.id,
|
||
|
tables.PokemonMove.version_group_id == tables.VersionGroup.id)))
|
||
|
q = q.options(lazyload('*'))
|
||
|
for version_group, pokemon_move_method in q:
|
||
|
entry = tables.VersionGroupPokemonMoveMethod(
|
||
|
version_group=version_group,
|
||
|
pokemon_move_method=pokemon_move_method,
|
||
|
)
|
||
|
session.add(entry)
|
||
|
|
||
|
|
||
|
load.dump(session, tables=['version_group_pokemon_move_methods'])
|
||
|
print "Dumped to CSV, rolling back transaction"
|
||
|
session.rollback()
|