cubicweb/misc/migration/3.22.3_Any.py
author Denis Laxalde <denis.laxalde@logilab.fr>
Fri, 05 Apr 2019 17:58:19 +0200
changeset 12567 26744ad37953
parent 11291 7c565548fb09
permissions -rw-r--r--
Drop python2 support This mostly consists in removing the dependency on "six" and updating the code to use only Python3 idioms. Notice that we previously used TemporaryDirectory from cubicweb.devtools.testlib for compatibility with Python2. We now directly import it from tempfile.

from yams.constraints import UniqueConstraint

for rschema in schema.relations():
    if rschema.rule or not rschema.final:
        continue
    for rdef in rschema.rdefs.values():
        if (rdef.object != 'String'
                and any(isinstance(cstr, UniqueConstraint) for cstr in rdef.constraints)):
            table = 'cw_{0}'.format(rdef.subject)
            column = 'cw_{0}'.format(rdef.rtype)
            repo.system_source.create_index(cnx, table, column, unique=True)