--- /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)