Files
@ 12eb1a018199
Branch filter:
Location: kallithea/rhodecode/lib/dbmigrate/__init__.py - annotation
12eb1a018199
3.5 KiB
text/x-python
db migrations:
Added patch for default user
Added patch for default user
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 08d2dcd71666 08d2dcd71666 08d2dcd71666 28a4bb11bb6f 28a4bb11bb6f 08d2dcd71666 08d2dcd71666 9753e0907827 60cbde084047 9753e0907827 08d2dcd71666 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 28a4bb11bb6f 9753e0907827 08d2dcd71666 60cbde084047 08d2dcd71666 28a4bb11bb6f 28a4bb11bb6f 9753e0907827 08d2dcd71666 28a4bb11bb6f 08d2dcd71666 08d2dcd71666 08d2dcd71666 08d2dcd71666 28a4bb11bb6f 08d2dcd71666 08d2dcd71666 28a4bb11bb6f 28a4bb11bb6f 60cbde084047 08d2dcd71666 28a4bb11bb6f 60cbde084047 60cbde084047 60cbde084047 60cbde084047 60cbde084047 28a4bb11bb6f 60cbde084047 12eb1a018199 60cbde084047 60cbde084047 60cbde084047 60cbde084047 12eb1a018199 60cbde084047 60cbde084047 12eb1a018199 12eb1a018199 12eb1a018199 60cbde084047 60cbde084047 60cbde084047 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 | # -*- 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.
import logging
from sqlalchemy import engine_from_config
from rhodecode import __dbversion__
from rhodecode.lib.dbmigrate.migrate.versioning import api
from rhodecode.lib.dbmigrate.migrate.exceptions import \
DatabaseNotControlledError
from rhodecode.lib.utils import BasePasterCommand, Command, add_cache
from rhodecode.lib.db_manage import DbManage
log = logging.getLogger(__name__)
class UpgradeDb(BasePasterCommand):
"""Command used for paster to upgrade our database to newer version
"""
max_args = 1
min_args = 1
usage = "CONFIG_FILE"
summary = "Upgrades current db to newer version given configuration file"
group_name = "RhodeCode"
parser = Command.standard_parser(verbose=True)
def command(self):
from pylons import config
add_cache(config)
repository_path = 'rhodecode/lib/dbmigrate'
db_uri = config['sqlalchemy.db1.url']
try:
curr_version = api.db_version(db_uri, repository_path)
msg = ('Found current database under version'
' control with version %s' % curr_version)
except (RuntimeError, DatabaseNotControlledError), e:
curr_version = 1
msg = ('Current database is not under version control setting'
' as version %s' % curr_version)
api.version_control(db_uri, repository_path, curr_version)
self.notify_msg(msg)
#now we have our dbversion we can do upgrade
self.notify_msg('attempting to do database upgrade to version %s' \
% __dbversion__)
api.upgrade(db_uri, repository_path, __dbversion__)
self.notify_msg('Schema upgrade completed')
#we need to make now some extra operations into database
self.notify_msg('Propagating database updates')
dbmanage = DbManage(log_sql=True, dbconf=db_uri,
root=config['here'], tests=False)
self.notify_msg('Patching repo paths for newer version of RhodeCode')
dbmanage.fix_repo_paths()
self.notify_msg('Patching default user of RhodeCode')
dbmanage.fix_default_user()
self.notify_msg('Changing ui settings')
dbmanage.create_ui_settings()
def update_parser(self):
self.parser.add_option('--sql',
action='store_true',
dest='just_sql',
help="Prints upgrade sql for further investigation",
default=False)
|