[migractions] Better handle removal of RQLConstraint in sync_schema
In rdef synchronisation, filter unmodified constraints before processing the
sets of old and new constraints.
Add a new `constraint_by_eid` method on RelationDefinitionSchema, which
eliminates the ambiguity of `constraint_by_type` usage when several
constraints of the same type are involved in the same migration.
Closes #3633644.
sync_schema_props_perms('EmailAddress')
for source in rql('CWSource X WHERE X type "pyrorql"').entities():
sconfig = source.dictconfig
nsid = sconfig.pop('pyro-ns-id', config.appid)
nshost = sconfig.pop('pyro-ns-host', '')
nsgroup = sconfig.pop('pyro-ns-group', ':cubicweb')
if nsgroup:
nsgroup += '.'
source.cw_set(url=u'pyro://%s/%s%s' % (nshost, nsgroup, nsid))
source.update_config(skip_unknown=True, **sconfig)
commit()