hooks/syncschema.py
branchstable
changeset 6294 a1535abe6ab2
parent 6261 82d3ac90e47c
child 6333 e3994fcc21c3
child 6734 ec9a5efdc451
equal deleted inserted replaced
6291:f6cba3be6ba2 6294:a1535abe6ab2
   705         prefix = SQL_PREFIX
   705         prefix = SQL_PREFIX
   706         table = '%s%s' % (prefix, self.entity.constraint_of[0].name)
   706         table = '%s%s' % (prefix, self.entity.constraint_of[0].name)
   707         cols = ['%s%s' % (prefix, r.rtype.name)
   707         cols = ['%s%s' % (prefix, r.rtype.name)
   708                 for r in self.entity.relations]
   708                 for r in self.entity.relations]
   709         dbhelper= session.pool.source('system').dbhelper
   709         dbhelper= session.pool.source('system').dbhelper
   710         sql = dbhelper.sql_create_multicol_unique_index(table, cols)
   710         sqls = dbhelper.sqls_create_multicol_unique_index(table, cols)
   711         session.system_sql(sql)
   711         for sql in sqls:
       
   712             session.system_sql(sql)
   712 
   713 
   713     # XXX revertprecommit_event
   714     # XXX revertprecommit_event
   714 
   715 
   715     def postcommit_event(self):
   716     def postcommit_event(self):
   716         eschema = self.session.vreg.schema.schema_by_eid(self.entity.constraint_of[0].eid)
   717         eschema = self.session.vreg.schema.schema_by_eid(self.entity.constraint_of[0].eid)
   724         session = self.session
   725         session = self.session
   725         prefix = SQL_PREFIX
   726         prefix = SQL_PREFIX
   726         table = '%s%s' % (prefix, self.entity.type)
   727         table = '%s%s' % (prefix, self.entity.type)
   727         dbhelper= session.pool.source('system').dbhelper
   728         dbhelper= session.pool.source('system').dbhelper
   728         cols = ['%s%s' % (prefix, c) for c in self.cols]
   729         cols = ['%s%s' % (prefix, c) for c in self.cols]
   729         sql = dbhelper.sql_drop_multicol_unique_index(table, cols)
   730         sqls = dbhelper.sqls_drop_multicol_unique_index(table, cols)
   730         session.system_sql(sql)
   731         for sql in sqls:
       
   732             session.system_sql(sql)
   731 
   733 
   732     # XXX revertprecommit_event
   734     # XXX revertprecommit_event
   733 
   735 
   734     def postcommit_event(self):
   736     def postcommit_event(self):
   735         eschema = self.session.vreg.schema.schema_by_eid(self.entity.eid)
   737         eschema = self.session.vreg.schema.schema_by_eid(self.entity.eid)