server/migractions.py
changeset 4467 0e73d299730a
parent 4367 fa02f7dccfe4
child 4580 9fce32b5d219
equal deleted inserted replaced
4466:8b0ca7904820 4467:0e73d299730a
   393     def _synchronize_rschema(self, rtype, syncrdefs=True, syncperms=True, syncprops=True):
   393     def _synchronize_rschema(self, rtype, syncrdefs=True, syncperms=True, syncprops=True):
   394         """synchronize properties of the persistent relation schema against its
   394         """synchronize properties of the persistent relation schema against its
   395         current definition:
   395         current definition:
   396 
   396 
   397         * description
   397         * description
   398         * symetric, meta
   398         * symmetric, meta
   399         * inlined
   399         * inlined
   400         * relation definitions if `syncrdefs`
   400         * relation definitions if `syncrdefs`
   401         * permissions if `syncperms`
   401         * permissions if `syncperms`
   402 
   402 
   403         physical schema changes should be handled by repository's schema hooks
   403         physical schema changes should be handled by repository's schema hooks
   480         rschema = self.fs_schema.rschema(rtype)
   480         rschema = self.fs_schema.rschema(rtype)
   481         reporschema = self.repo.schema.rschema(rschema)
   481         reporschema = self.repo.schema.rschema(rschema)
   482         if (subjtype, rschema, objtype) in self._synchronized:
   482         if (subjtype, rschema, objtype) in self._synchronized:
   483             return
   483             return
   484         self._synchronized.add((subjtype, rschema, objtype))
   484         self._synchronized.add((subjtype, rschema, objtype))
   485         if rschema.symetric:
   485         if rschema.symmetric:
   486             self._synchronized.add((objtype, rschema, subjtype))
   486             self._synchronized.add((objtype, rschema, subjtype))
   487         confirm = self.verbosity >= 2
   487         confirm = self.verbosity >= 2
   488         if syncprops:
   488         if syncprops:
   489             # properties
   489             # properties
   490             self.rqlexecall(ss.updaterdef2rql(rschema, subjtype, objtype),
   490             self.rqlexecall(ss.updaterdef2rql(rschema, subjtype, objtype),
   762                         # actually in the schema
   762                         # actually in the schema
   763                         added.append(rschema.type)
   763                         added.append(rschema.type)
   764                         self.cmd_add_relation_type(rschema.type, False, commit=True)
   764                         self.cmd_add_relation_type(rschema.type, False, commit=True)
   765                         rtypeadded = True
   765                         rtypeadded = True
   766                     # register relation definition
   766                     # register relation definition
   767                     # remember this two avoid adding twice non symetric relation
   767                     # remember this two avoid adding twice non symmetric relation
   768                     # such as "Emailthread forked_from Emailthread"
   768                     # such as "Emailthread forked_from Emailthread"
   769                     added.append((etype, rschema.type, targettype))
   769                     added.append((etype, rschema.type, targettype))
   770                     self.rqlexecall(ss.rdef2rql(rschema, etype, targettype,
   770                     self.rqlexecall(ss.rdef2rql(rschema, etype, targettype,
   771                                                 groupmap=groupmap),
   771                                                 groupmap=groupmap),
   772                                     ask_confirm=confirm)
   772                                     ask_confirm=confirm)