server/migractions.py
branchstable
changeset 6073 bf684f1022bf
parent 6042 df9cafb8062c
child 6074 f2580c7abc26
equal deleted inserted replaced
6072:9d83b214066a 6073:bf684f1022bf
   909         ss.execschemarql(execute, rschema, ss.rschema2rql(rschema, addrdef=False))
   909         ss.execschemarql(execute, rschema, ss.rschema2rql(rschema, addrdef=False))
   910         if addrdef:
   910         if addrdef:
   911             self.commit()
   911             self.commit()
   912             gmap = self.group_mapping()
   912             gmap = self.group_mapping()
   913             cmap = self.cstrtype_mapping()
   913             cmap = self.cstrtype_mapping()
       
   914             done = set()
   914             for rdef in rschema.rdefs.itervalues():
   915             for rdef in rschema.rdefs.itervalues():
   915                 if not (reposchema.has_entity(rdef.subject)
   916                 if not (reposchema.has_entity(rdef.subject)
   916                         and reposchema.has_entity(rdef.object)):
   917                         and reposchema.has_entity(rdef.object)):
   917                     continue
   918                     continue
       
   919                 # symmetric relations appears twice
       
   920                 if (rdef.subject, rdef.object) in done:
       
   921                     continue
       
   922                 done.add( (rdef.subject, rdef.object) )
   918                 self._set_rdef_eid(rdef)
   923                 self._set_rdef_eid(rdef)
   919                 ss.execschemarql(execute, rdef,
   924                 ss.execschemarql(execute, rdef,
   920                                  ss.rdef2rql(rdef, cmap, gmap))
   925                                  ss.rdef2rql(rdef, cmap, gmap))
   921             if rtype in META_RTYPES:
   926             if rtype in META_RTYPES:
   922                 # if the relation is in META_RTYPES, ensure we're adding it for
   927                 # if the relation is in META_RTYPES, ensure we're adding it for