From 14c3d27fedb884e73f029665ae10afa3cb4d0a4b Mon Sep 17 00:00:00 2001 From: Phill Ridout Date: Wed, 18 Feb 2015 20:43:51 +0000 Subject: [PATCH] revert db upgrade code --- openlp/plugins/bibles/lib/upgrade.py | 126 ++++++++++++++++++++++++++- 1 file changed, 125 insertions(+), 1 deletion(-) diff --git a/openlp/plugins/bibles/lib/upgrade.py b/openlp/plugins/bibles/lib/upgrade.py index bd7de8368..53013edbc 100644 --- a/openlp/plugins/bibles/lib/upgrade.py +++ b/openlp/plugins/bibles/lib/upgrade.py @@ -24,6 +24,8 @@ The :mod:`upgrade` module provides a way for the database and schema that is the """ import logging +from sqlalchemy import delete, func, insert, select + log = logging.getLogger(__name__) __version__ = 1 @@ -34,4 +36,126 @@ def upgrade_1(session, metadata): This upgrade renames a number of keys to a single naming convention. """ - log.info('No upgrades to perform') + metadata_table = metadata.tables['metadata'] + # Copy "Version" to "name" ("version" used by upgrade system) + session.execute(insert(metadata_table).values( + key='name', + value=select( + [metadata_table.c.value], + metadata_table.c.key == 'Version' + ).as_scalar() + )) + # Copy "Copyright" to "copyright" + session.execute(insert(metadata_table).values( + key='copyright', + value=select( + [metadata_table.c.value], + metadata_table.c.key == 'Copyright' + ).as_scalar() + )) + # Copy "Permissions" to "permissions" + session.execute(insert(metadata_table).values( + key='permissions', + value=select( + [metadata_table.c.value], + metadata_table.c.key == 'Permissions' + ).as_scalar() + )) + # Copy "Bookname language" to "book_name_language" + value_count = session.execute( + select( + [func.count(metadata_table.c.value)], + metadata_table.c.key == 'Bookname language' + ) + ).scalar() + if value_count > 0: + session.execute(insert(metadata_table).values( + key='book_name_language', + value=select( + [metadata_table.c.value], + metadata_table.c.key == 'Bookname language' + ).as_scalar() + )) + # Copy "download source" to "download_source" + value_count = session.execute( + select( + [func.count(metadata_table.c.value)], + metadata_table.c.key == 'download source' + ) + ).scalar() + log.debug('download source: %s', value_count) + if value_count > 0: + session.execute(insert(metadata_table).values( + key='download_source', + value=select( + [metadata_table.c.value], + metadata_table.c.key == 'download source' + ).as_scalar() + )) + # Copy "download name" to "download_name" + value_count = session.execute( + select( + [func.count(metadata_table.c.value)], + metadata_table.c.key == 'download name' + ) + ).scalar() + log.debug('download name: %s', value_count) + if value_count > 0: + session.execute(insert(metadata_table).values( + key='download_name', + value=select( + [metadata_table.c.value], + metadata_table.c.key == 'download name' + ).as_scalar() + )) + # Copy "proxy server" to "proxy_server" + value_count = session.execute( + select( + [func.count(metadata_table.c.value)], + metadata_table.c.key == 'proxy server' + ) + ).scalar() + log.debug('proxy server: %s', value_count) + if value_count > 0: + session.execute(insert(metadata_table).values( + key='proxy_server', + value=select( + [metadata_table.c.value], + metadata_table.c.key == 'proxy server' + ).as_scalar() + )) + # Copy "proxy username" to "proxy_username" + value_count = session.execute( + select( + [func.count(metadata_table.c.value)], + metadata_table.c.key == 'proxy username' + ) + ).scalar() + log.debug('proxy username: %s', value_count) + if value_count > 0: + session.execute(insert(metadata_table).values( + key='proxy_username', + value=select( + [metadata_table.c.value], + metadata_table.c.key == 'proxy username' + ).as_scalar() + )) + # Copy "proxy password" to "proxy_password" + value_count = session.execute( + select( + [func.count(metadata_table.c.value)], + metadata_table.c.key == 'proxy password' + ) + ).scalar() + log.debug('proxy password: %s', value_count) + if value_count > 0: + session.execute(insert(metadata_table).values( + key='proxy_password', + value=select( + [metadata_table.c.value], + metadata_table.c.key == 'proxy password' + ).as_scalar() + )) + session.execute(delete(metadata_table)\ + .where(metadata_table.c.key == 'dbversion')) + session.commit()