author | Sylvain Thénault <sylvain.thenault@logilab.fr> |
Mon, 07 Mar 2011 23:16:22 +0100 | |
changeset 7049 | f2ae6202754c |
parent 7034 | 1ac9715876e3 |
child 7050 | 3f2857704444 |
permissions | -rw-r--r-- |
7026
2c65dd2cbfff
[migration] missing future import
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6955
diff
changeset
|
1 |
from __future__ import with_statement |
7032
b712477ae286
[config] fix option group clash causing anonymous user configuration to end in the MAIN section instead of the WEB section if cubicweb-dev is installed
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7026
diff
changeset
|
2 |
|
7034
1ac9715876e3
[migration] cleanup corrupted database, pb noticed on several instances
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7032
diff
changeset
|
3 |
# fix some corrupted entities noticed on several instances |
1ac9715876e3
[migration] cleanup corrupted database, pb noticed on several instances
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7032
diff
changeset
|
4 |
rql('DELETE CWConstraint X WHERE NOT E constrained_by X') |
1ac9715876e3
[migration] cleanup corrupted database, pb noticed on several instances
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7032
diff
changeset
|
5 |
rql('SET X is_instance_of Y WHERE X is Y, NOT X is_instance_of Y') |
1ac9715876e3
[migration] cleanup corrupted database, pb noticed on several instances
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7032
diff
changeset
|
6 |
commit() |
1ac9715876e3
[migration] cleanup corrupted database, pb noticed on several instances
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7032
diff
changeset
|
7 |
|
6955
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
8 |
if confirm('fix existing cwuri?'): |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
9 |
from logilab.common.shellutils import ProgressBar |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
10 |
from cubicweb.server.session import hooks_control |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
11 |
rset = rql('Any X, XC WHERE X cwuri XC, X cwuri ~= "%/eid/%"') |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
12 |
pb = ProgressBar(nbops=rset.rowcount, size=70) |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
13 |
with hooks_control(session, session.HOOKS_DENY_ALL, 'integrity'): |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
14 |
for i, e in enumerate(rset.entities()): |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
15 |
e.set_attributes(cwuri=e.cwuri.replace('/eid', '')) |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
16 |
if i % 100: # commit every 100 entities to limit memory consumption |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
17 |
commit(ask_confirm=False) |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
18 |
pb.update() |
a6c32edabc8d
[entity, metadata] huuum, use resolvable url as cwuri... And fix existing ones.
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff
changeset
|
19 |
commit(ask_confirm=False) |
7032
b712477ae286
[config] fix option group clash causing anonymous user configuration to end in the MAIN section instead of the WEB section if cubicweb-dev is installed
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7026
diff
changeset
|
20 |
|
b712477ae286
[config] fix option group clash causing anonymous user configuration to end in the MAIN section instead of the WEB section if cubicweb-dev is installed
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7026
diff
changeset
|
21 |
try: |
b712477ae286
[config] fix option group clash causing anonymous user configuration to end in the MAIN section instead of the WEB section if cubicweb-dev is installed
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7026
diff
changeset
|
22 |
from cubicweb import devtools |
b712477ae286
[config] fix option group clash causing anonymous user configuration to end in the MAIN section instead of the WEB section if cubicweb-dev is installed
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7026
diff
changeset
|
23 |
option_group_changed('anonymous-user', 'main', 'web') |
b712477ae286
[config] fix option group clash causing anonymous user configuration to end in the MAIN section instead of the WEB section if cubicweb-dev is installed
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7026
diff
changeset
|
24 |
option_group_changed('anonymous-password', 'main', 'web') |
b712477ae286
[config] fix option group clash causing anonymous user configuration to end in the MAIN section instead of the WEB section if cubicweb-dev is installed
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7026
diff
changeset
|
25 |
except ImportError: |
b712477ae286
[config] fix option group clash causing anonymous user configuration to end in the MAIN section instead of the WEB section if cubicweb-dev is installed
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7026
diff
changeset
|
26 |
# cubicweb-dev unavailable, nothing needed |
b712477ae286
[config] fix option group clash causing anonymous user configuration to end in the MAIN section instead of the WEB section if cubicweb-dev is installed
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
7026
diff
changeset
|
27 |
pass |