93 self.backup_database() |
93 self.backup_database() |
94 elif options.backup_db: |
94 elif options.backup_db: |
95 self.backup_database(askconfirm=False) |
95 self.backup_database(askconfirm=False) |
96 super(ServerMigrationHelper, self).migrate(vcconf, toupgrade, options) |
96 super(ServerMigrationHelper, self).migrate(vcconf, toupgrade, options) |
97 |
97 |
98 def process_script(self, migrscript, funcname=None, *args, **kwargs): |
98 def cmd_process_script(self, migrscript, funcname=None, *args, **kwargs): |
99 """execute a migration script |
99 """execute a migration script |
100 in interactive mode, display the migration script path, ask for |
100 in interactive mode, display the migration script path, ask for |
101 confirmation and execute it if confirmed |
101 confirmation and execute it if confirmed |
102 """ |
102 """ |
103 try: |
103 try: |
104 if migrscript.endswith('.sql'): |
104 if migrscript.endswith('.sql'): |
105 if self.execscript_confirm(migrscript): |
105 if self.execscript_confirm(migrscript): |
106 sqlexec(open(migrscript).read(), self.session.system_sql) |
106 sqlexec(open(migrscript).read(), self.session.system_sql) |
107 else: |
107 else: |
108 return super(ServerMigrationHelper, self).process_script( |
108 return super(ServerMigrationHelper, self).cmd_process_script( |
109 migrscript, funcname, *args, **kwargs) |
109 migrscript, funcname, *args, **kwargs) |
110 self.commit() |
110 self.commit() |
111 except: |
111 except: |
112 self.rollback() |
112 self.rollback() |
113 raise |
113 raise |
292 confirm = self.confirm |
292 confirm = self.confirm |
293 execscript_confirm = self.execscript_confirm |
293 execscript_confirm = self.execscript_confirm |
294 self.confirm = yes |
294 self.confirm = yes |
295 self.execscript_confirm = yes |
295 self.execscript_confirm = yes |
296 try: |
296 try: |
297 return self.process_script(apc, funcname, *args, **kwargs) |
297 return self.cmd_process_script(apc, funcname, *args, **kwargs) |
298 finally: |
298 finally: |
299 self.confirm = confirm |
299 self.confirm = confirm |
300 self.execscript_confirm = execscript_confirm |
300 self.execscript_confirm = execscript_confirm |
301 if self.config.free_wheel: |
301 if self.config.free_wheel: |
302 self.repo.hm.register_hook(setowner_after_add_entity, |
302 self.repo.hm.register_hook(setowner_after_add_entity, |