# -*- coding: utf-8 -*-""" rhodecode.lib.dbmigrate.__init__ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Database migration modules :created_on: Dec 11, 2010 :author: marcink :copyright: (C) 2009-2010 Marcin Kuzminski <marcin@python-works.com> :license: GPLv3, see COPYING for more details."""# This program is free software; you can redistribute it and/or# modify it under the terms of the GNU General Public License# as published by the Free Software Foundation; version 2# of the License or (at your opinion) any later version of the license.# # This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.# # You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,# MA 02110-1301, USA.importloggingfromsqlalchemyimportengine_from_configfromrhodecode.lib.utilsimportBasePasterCommand,Command,add_cachefromrhodecode.lib.db_manageimportDbManagelog=logging.getLogger(__name__)classUpgradeDb(BasePasterCommand):"""Command used for paster to upgrade our database to newer version """max_args=1min_args=1usage="CONFIG_FILE"summary="Upgrades current db to newer version given configuration file"group_name="RhodeCode"parser=Command.standard_parser(verbose=True)defcommand(self):frompylonsimportconfigadd_cache(config)db_uri=config['sqlalchemy.db1.url']dbmanage=DbManage(log_sql=True,dbconf=db_uri,root=config['here'],tests=False)dbmanage.upgrade()defupdate_parser(self):self.parser.add_option('--sql',action='store_true',dest='just_sql',help="Prints upgrade sql for further investigation",default=False)