merge with 3.21.3
The change in unittest_serverctl.py is needed because of daef7ce08fea
(from 3.20.11) and 3914388b2d0f (from the 3.22 branch). Due to both
changes, CubicWebTC.config.repository no longer creates a new repository
(and thus, a new connection). Since both DBDumpCommand and
CubicWebTC.tearDown try to shutdown the repo, tearDown breaks apart.
The solution is to temporarily disable ServerConfiguration's config
cache. By forcing DBDumpCommand to get a new configuration object, it
then gets its own Repo object, allowing tearDown and DBDumpCommand to
work independently.
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()