server/migractions.py
changeset 447 0e52d72104a6
parent 366 6d73bb2e9f6a
child 676 270eb87a768a
equal deleted inserted replaced
446:3a3ab6bbccc5 447:0e52d72104a6
     9 * add an entity
     9 * add an entity
    10 * execute raw RQL queries
    10 * execute raw RQL queries
    11 
    11 
    12 
    12 
    13 :organization: Logilab
    13 :organization: Logilab
    14 :copyright: 2001-2008 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
    14 :copyright: 2001-2009 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
    15 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
    15 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
    16 """
    16 """
    17 __docformat__ = "restructuredtext en"
    17 __docformat__ = "restructuredtext en"
    18 
    18 
    19 import sys
    19 import sys
   677             return
   677             return
   678         repospschema = repoeschema.specializes()
   678         repospschema = repoeschema.specializes()
   679         espschema = eschema.specializes()
   679         espschema = eschema.specializes()
   680         if repospschema and not espschema:
   680         if repospschema and not espschema:
   681             self.rqlexec('DELETE X specializes Y WHERE X is EEType, X name %(x)s',
   681             self.rqlexec('DELETE X specializes Y WHERE X is EEType, X name %(x)s',
   682                          {'x': str(repoechema)})
   682                          {'x': str(repoeschema)})
   683         elif not repospschema and espschema:
   683         elif not repospschema and espschema:
   684             self.rqlexec('SET X specializes Y WHERE X is EEType, X name %(x)s, '
   684             self.rqlexec('SET X specializes Y WHERE X is EEType, X name %(x)s, '
   685                          'Y is EEType, Y name %(y)s',
   685                          'Y is EEType, Y name %(y)s',
   686                          {'x': str(repoechema), 'y': str(epschema)})
   686                          {'x': str(repoeschema), 'y': str(espschema)})
   687         self.rqlexecall(ss.updateeschema2rql(eschema),
   687         self.rqlexecall(ss.updateeschema2rql(eschema),
   688                         ask_confirm=self.verbosity >= 2)
   688                         ask_confirm=self.verbosity >= 2)
   689         for rschema, targettypes, x in eschema.relation_definitions(True):
   689         for rschema, targettypes, x in eschema.relation_definitions(True):
   690             if x == 'subject':
   690             if x == 'subject':
   691                 if not rschema in repoeschema.subject_relations():
   691                 if not rschema in repoeschema.subject_relations():