hooks/syncschema.py
brancholdstable
changeset 6734 ec9a5efdc451
parent 6294 a1535abe6ab2
child 6735 7d37ba09f4e3
equal deleted inserted replaced
6733:627a93027605 6734:ec9a5efdc451
   280 
   280 
   281     def rename(self, oldname, newname):
   281     def rename(self, oldname, newname):
   282         self.session.vreg.schema.rename_entity_type(oldname, newname)
   282         self.session.vreg.schema.rename_entity_type(oldname, newname)
   283         # we need sql to operate physical changes on the system database
   283         # we need sql to operate physical changes on the system database
   284         sqlexec = self.session.system_sql
   284         sqlexec = self.session.system_sql
   285         sqlexec('ALTER TABLE %s%s RENAME TO %s%s' % (SQL_PREFIX, oldname,
   285         dbhelper= self.session.pool.source('system').dbhelper
   286                                                      SQL_PREFIX, newname))
   286         sql = dbhelper.sql_rename_table(SQL_PREFIX+oldname,
       
   287                                         SQL_PREFIX+newname)
       
   288         sqlexec(sql)
   287         self.info('renamed table %s to %s', oldname, newname)
   289         self.info('renamed table %s to %s', oldname, newname)
   288         sqlexec('UPDATE entities SET type=%s WHERE type=%s',
   290         sqlexec('UPDATE entities SET type=%(newname)s WHERE type=%(oldname)s',
   289                 (newname, oldname))
   291                 {'newname': newname, 'oldname': oldname))
   290         sqlexec('UPDATE deleted_entities SET type=%s WHERE type=%s',
   292         sqlexec('UPDATE deleted_entities SET type=%(newname)s WHERE type=%(oldname)s',
   291                 (newname, oldname))
   293                 {'newname': newname, 'oldname': oldname))
   292         # XXX transaction records
   294         # XXX transaction records
   293 
   295 
   294     def precommit_event(self):
   296     def precommit_event(self):
   295         self.rename(self.oldname, self.newname)
   297         self.rename(self.oldname, self.newname)
   296 
   298