misc/migration/3.10.4_Any.py
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Thu, 28 Aug 2014 18:12:28 +0200
changeset 9950 3e5addc72575
parent 6702 dfc19a6fb8aa
permissions -rw-r--r--
Fix test migration crash waiting to happen due to inferred relations Avoid crashing when a relation definition which is already known (due to being inferred) gets explicitly added. As explained in a comment, this would deserve more thinking, but at least this fixes a test failure with computed relations.

for eschema in schema.entities():
    if not (eschema.final or 'cw_source' in eschema.subjrels):
        add_relation_definition(eschema.type, 'cw_source', 'CWSource', ask_confirm=False)

sql('INSERT INTO cw_source_relation(eid_from, eid_to) '
    'SELECT e.eid,s.cw_eid FROM entities as e, cw_CWSource as s '
    'WHERE s.cw_name=e.source AND NOT EXISTS(SELECT 1 FROM cw_source_relation WHERE eid_from=e.eid AND eid_to=s.cw_eid)')
commit()