# -*- coding: utf-8 -*-""" rhodecode.lib.dbmigrate.__init__ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Database migration modules :created_on: Dec 11, 2010 :author: marcink :copyright: (C) 2010-2012 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, either version 3 of the License, or# (at your option) any later version.## 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, see <http://www.gnu.org/licenses/>.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"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)