veekun_pokedex/pokedex/db/oracle.py
2013-12-21 00:06:27 +01:00

30 lines
1,002 B
Python

from pokedex.db import metadata
### Helper functions for oracle
def rewrite_long_table_names():
"""Modifies the table names to disenvowel long table names.
"""
t_names = metadata.tables.keys()
table_names = list(t_names)
table_objs = [metadata.tables[name] for name in table_names]
# Prepare a dictionary to match old<->new names
oradict = {}
# Shorten table names, Oracle limits table and column names to 30 chars
for table in table_objs:
table._orginal_name = table.name[:]
oradict[table.name]=table._orginal_name
if len(table._orginal_name) > 30:
for letter in ['a', 'e', 'i', 'o', 'u', 'y']:
table.name=table.name.replace(letter,'')
oradict[table.name]=table._orginal_name
return oradict
def restore_long_table_names(metadata,oradict):
"""Modifies the table names to restore the long-naming.
"""
for table in metadata.tables.values():
table.name = oradict[table.name]