[migration/3.18] recover from bad CWSource.in_synchronization default value
The addition of this attribute in 3.13.8 had default=False, which made
no sense, and was fixed in 3.13.9. However no migration was done so
apps that ever saw the 3.13.8 code could still have '' as defaultval for
this attribute.
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()