diff -r f9a84d54ebf3 -r a6c32edabc8d misc/migration/3.10.9_Any.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/misc/migration/3.10.9_Any.py Wed Feb 09 18:05:39 2011 +0100 @@ -0,0 +1,12 @@ +if confirm('fix existing cwuri?'): + from logilab.common.shellutils import ProgressBar + from cubicweb.server.session import hooks_control + rset = rql('Any X, XC WHERE X cwuri XC, X cwuri ~= "%/eid/%"') + pb = ProgressBar(nbops=rset.rowcount, size=70) + with hooks_control(session, session.HOOKS_DENY_ALL, 'integrity'): + for i, e in enumerate(rset.entities()): + e.set_attributes(cwuri=e.cwuri.replace('/eid', '')) + if i % 100: # commit every 100 entities to limit memory consumption + commit(ask_confirm=False) + pb.update() + commit(ask_confirm=False)