diff -r 8a54f91a43e1 -r 23d7a75693f8 server/sqlutils.py --- a/server/sqlutils.py Mon Aug 10 18:01:46 2009 +0200 +++ b/server/sqlutils.py Mon Aug 10 23:33:11 2009 +0200 @@ -120,39 +120,6 @@ skip_relations=skip_relations)) return '\n'.join(output) - -def sql_source_backup(source, sqladapter, confirm, backupfile, - askconfirm=False): - if exists(backupfile): - if not confirm('Backup file %s exists, overwrite it?' % backupfile): - return - elif askconfirm and not confirm('Backup %s database?' - % source.repo.config.appid): - print '-> no backup done.' - return - # should close opened connection before backuping - source.close_pool_connections() - try: - sqladapter.backup_to_file(backupfile, confirm) - finally: - source.open_pool_connections() - -def sql_source_restore(source, sqladapter, confirm, backupfile, drop=True, - askconfirm=False): - if not exists(backupfile): - raise Exception("backup file %s doesn't exist" % backupfile) - app = source.repo.config.appid - if askconfirm and not confirm('Restore %s %s database from %s ?' - % (app, source.uri, backupfile)): - return - # should close opened connection before restoring - source.close_pool_connections() - try: - sqladapter.restore_from_file(backupfile, confirm, drop=drop) - finally: - source.open_pool_connections() - - try: from mx.DateTime import DateTimeType, DateTimeDeltaType except ImportError: @@ -196,25 +163,12 @@ #self.dbapi_module.type_code_test(cnx.cursor()) return cnx - def backup_to_file(self, backupfile, confirm): + def backup_to_file(self, backupfile): cmd = self.dbhelper.backup_command(self.dbname, self.dbhost, self.dbuser, backupfile, keepownership=False) - backupdir = os.path.dirname(backupfile) - if not os.path.exists(backupdir): - if confirm('%s does not exist. Create it?' % backupdir, - abort=False, shell=False): - os.makedirs(backupdir) - else: - print '-> failed to backup instance' - return if os.system(cmd): - print '-> error trying to backup with command', cmd - if not confirm('Continue anyway?', default='n'): - raise SystemExit(1) - else: - print '-> backup file', backupfile - restrict_perms_to_user(backupfile, self.info) + raise Exception('Failed command: %s' % cmd) def restore_from_file(self, backupfile, confirm, drop=True): for cmd in self.dbhelper.restore_commands(self.dbname, self.dbhost, @@ -222,19 +176,8 @@ self.encoding, keepownership=False, drop=drop): - while True: - print cmd - if os.system(cmd): - print '-> error while restoring the base' - answer = confirm('Continue anyway?', - shell=False, abort=False, retry=True) - if not answer: - raise SystemExit(1) - if answer == 1: # 1: continue, 2: retry - break - else: - break - print '-> database restored.' + if os.system(cmd): + raise Exception('Failed command: %s' % cmd) def merge_args(self, args, query_args): if args is not None: