def step_0(self): #step 0 is the schema upgrade, and than follow proper upgrades print ('attempting to do database upgrade to version %s' \ % __dbversion__) api.upgrade(db_uri, repository_path, __dbversion__) print ('Schema upgrade completed')
def upgrade(self): """ Upgrades given database schema to given revision following all needed steps, to perform the upgrade """ from rhodecode.lib.dbmigrate.migrate.versioning import api from rhodecode.lib.dbmigrate.migrate.exceptions import \ DatabaseNotControlledError if 'sqlite' in self.dburi: print ( '********************** WARNING **********************\n' 'Make sure your version of sqlite is at least 3.7.X. \n' 'Earlier versions are known to fail on some migrations\n' '*****************************************************\n') upgrade = self.ask_ok( 'You are about to perform a database upgrade. Make ' 'sure you have backed up your database. ' 'Continue ? [y/n]') if not upgrade: log.info('No upgrade performed') sys.exit(0) repository_path = jn(dn(dn(dn(os.path.realpath(__file__)))), 'rhodecode/lib/dbmigrate') db_uri = self.dburi 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): 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) notify(msg) self.run_pre_migration_tasks() if curr_version == __dbversion__: log.info('This database is already at the newest version') sys.exit(0) upgrade_steps = range(curr_version + 1, __dbversion__ + 1) notify('attempting to upgrade database from ' 'version %s to version %s' % (curr_version, __dbversion__)) # CALL THE PROPER ORDER OF STEPS TO PERFORM FULL UPGRADE _step = None for step in upgrade_steps: notify('performing upgrade step %s' % step) time.sleep(0.5) api.upgrade(db_uri, repository_path, step) self.sa.rollback() notify('schema upgrade for step %s completed' % (step,)) _step = step notify('upgrade to version %s successful' % _step)
def step_0(self): # step 0 is the schema upgrade, and than follow proper upgrades notify('attempting to do database upgrade from ' 'version %s to version %s' %(curr_version, __dbversion__)) api.upgrade(db_uri, repository_path, __dbversion__) notify('Schema upgrade completed')
def step_0(self): # step 0 is the schema upgrade, and than follow proper upgrades notify("attempting to do database upgrade to version %s" % __dbversion__) api.upgrade(db_uri, repository_path, __dbversion__) notify("Schema upgrade completed")
def step_0(self): # step 0 is the schema upgrade, and than follow proper upgrades print ('attempting to do database upgrade to version %s' \ % __dbversion__) api.upgrade(db_uri, repository_path, __dbversion__) print('Schema upgrade completed')
def upgrade(self): """ Upgrades given database schema to given revision following all needed steps, to perform the upgrade """ from rhodecode.lib.dbmigrate.migrate.versioning import api from rhodecode.lib.dbmigrate.migrate.exceptions import \ DatabaseNotControlledError if 'sqlite' in self.dburi: print ( '********************** WARNING **********************\n' 'Make sure your version of sqlite is at least 3.7.X. \n' 'Earlier versions are known to fail on some migrations\n' '*****************************************************\n' ) upgrade = ask_ok('You are about to perform database upgrade, make ' 'sure You backed up your database before. ' 'Continue ? [y/n]') if not upgrade: sys.exit('No upgrade performed') repository_path = jn(dn(dn(dn(os.path.realpath(__file__)))), 'rhodecode/lib/dbmigrate') db_uri = self.dburi 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): 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) notify(msg) if curr_version == __dbversion__: sys.exit('This database is already at the newest version') # clear cache keys log.info("Clearing cache keys now...") CacheInvalidation.clear_cache() upgrade_steps = range(curr_version + 1, __dbversion__ + 1) notify('attempting to do database upgrade from ' 'version %s to version %s' % (curr_version, __dbversion__)) # CALL THE PROPER ORDER OF STEPS TO PERFORM FULL UPGRADE _step = None for step in upgrade_steps: notify('performing upgrade step %s' % step) time.sleep(2) api.upgrade(db_uri, repository_path, step) notify('schema upgrade for step %s completed' % (step,)) fixture = 'step_%s' % step notify('performing fixture step %s' % fixture) getattr(UpgradeSteps(self), fixture)() self.sa.commit() notify('fixture %s completed' % (fixture,)) _step = step notify('upgrade to version %s successful' % _step)