server/migractions.py
changeset 9963 5531f5577b50
parent 9962 64b573d54133
child 9964 f4a3ee05cf9d
equal deleted inserted replaced
9962:64b573d54133 9963:5531f5577b50
  1016         rschema = self.fs_schema.rschema(rtype)
  1016         rschema = self.fs_schema.rschema(rtype)
  1017         execute = self.cnx.execute
  1017         execute = self.cnx.execute
  1018         if rtype in reposchema:
  1018         if rtype in reposchema:
  1019             print 'warning: relation type %s is already known, skip addition' % (
  1019             print 'warning: relation type %s is already known, skip addition' % (
  1020                 rtype)
  1020                 rtype)
       
  1021         elif rschema.rule:
       
  1022             ss.execschemarql(execute, rschema, ss.crschema2rql(rschema))
  1021         else:
  1023         else:
  1022             # register the relation into CWRType and insert necessary relation
  1024             # register the relation into CWRType and insert necessary relation
  1023             # definitions
  1025             # definitions
  1024             ss.execschemarql(execute, rschema, ss.rschema2rql(rschema, addrdef=False))
  1026             ss.execschemarql(execute, rschema, ss.rschema2rql(rschema, addrdef=False))
  1025         if addrdef:
  1027         if not rschema.rule and addrdef:
  1026             self.commit()
  1028             self.commit()
  1027             gmap = self.group_mapping()
  1029             gmap = self.group_mapping()
  1028             cmap = self.cstrtype_mapping()
  1030             cmap = self.cstrtype_mapping()
  1029             done = set()
  1031             done = set()
  1030             for subj, obj in rschema.rdefs:
  1032             for subj, obj in rschema.rdefs: