author | Sylvain Thénault <sylvain.thenault@logilab.fr> |
Wed, 14 Dec 2016 08:47:06 +0100 | |
branch | 3.24 |
changeset 11890 | 01bfc50e1a47 |
parent 11808 | 4a387179fa33 |
child 11937 | 7d3ee5a516fa |
permissions | -rw-r--r-- |
11890
01bfc50e1a47
Ensure in 3.24 migration that entities from LDAP have consistent cwuri
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11808
diff
changeset
|
1 |
from base64 import b64decode |
01bfc50e1a47
Ensure in 3.24 migration that entities from LDAP have consistent cwuri
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11808
diff
changeset
|
2 |
|
01bfc50e1a47
Ensure in 3.24 migration that entities from LDAP have consistent cwuri
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11808
diff
changeset
|
3 |
|
11634
fa614537e5ee
Add a CWSession entity.
Christophe de Vienne <christophe@unlish.com>
parents:
diff
changeset
|
4 |
# Check the CW versions and add the entity only if needed ? |
fa614537e5ee
Add a CWSession entity.
Christophe de Vienne <christophe@unlish.com>
parents:
diff
changeset
|
5 |
add_entity_type('CWSession') |
11709
c16fe74d0a5f
[migration] Drop cubicweb-pyramid CWProperty in 3.24.0 migration
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11681
diff
changeset
|
6 |
rql('DELETE CWProperty X WHERE X pkey "system.version.pyramid"', |
c16fe74d0a5f
[migration] Drop cubicweb-pyramid CWProperty in 3.24.0 migration
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
11681
diff
changeset
|
7 |
ask_confirm=False) |
11757
e845746b4d3c
[sources] Drop 'moved_entities' table handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11709
diff
changeset
|
8 |
|
e845746b4d3c
[sources] Drop 'moved_entities' table handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11709
diff
changeset
|
9 |
sql('DROP TABLE moved_entities') |
11773
054a947b5415
[repository] Drop the entities.asource column
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11757
diff
changeset
|
10 |
sql('ALTER TABLE entities DROP COLUMN asource') |
11890
01bfc50e1a47
Ensure in 3.24 migration that entities from LDAP have consistent cwuri
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11808
diff
changeset
|
11 |
# before removing extid, ensure it's coherent with cwuri |
01bfc50e1a47
Ensure in 3.24 migration that entities from LDAP have consistent cwuri
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11808
diff
changeset
|
12 |
for eid, etype, encoded_extid in sql( |
01bfc50e1a47
Ensure in 3.24 migration that entities from LDAP have consistent cwuri
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11808
diff
changeset
|
13 |
"SELECT eid, type, extid FROM entities, cw_CWSource " |
01bfc50e1a47
Ensure in 3.24 migration that entities from LDAP have consistent cwuri
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11808
diff
changeset
|
14 |
"WHERE cw_CWSource.cw_name=entities.asource AND cw_CWSource.cw_type='ldapfeed'"): |
01bfc50e1a47
Ensure in 3.24 migration that entities from LDAP have consistent cwuri
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11808
diff
changeset
|
15 |
sql('UPDATE cw_{} SET cw_cwuri=%(cwuri)s WHERE cw_eid=%(eid)s'.format(etype), |
01bfc50e1a47
Ensure in 3.24 migration that entities from LDAP have consistent cwuri
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11808
diff
changeset
|
16 |
{'eid': eid, 'cwuri': b64decode(encoded_extid)}) |
11774
51c160677afe
[repository] Drop the entities.extid column and associated cache
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11773
diff
changeset
|
17 |
sql('ALTER TABLE entities DROP COLUMN extid') |
11776
b49684ddd543
[repository] Drop the index on entities.type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11775
diff
changeset
|
18 |
sql('DROP INDEX entities_type_idx') |
11775
39cf9e55ada8
[source] Drop source mapping handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11774
diff
changeset
|
19 |
|
11808
4a387179fa33
[migration] Drop cw_schema relation first
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11776
diff
changeset
|
20 |
# force cw_schema deletion before CWSourceSchemaConfig to avoid nasty bug |
4a387179fa33
[migration] Drop cw_schema relation first
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11776
diff
changeset
|
21 |
drop_relation_type('cw_schema') |
11775
39cf9e55ada8
[source] Drop source mapping handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
11774
diff
changeset
|
22 |
drop_entity_type('CWSourceSchemaConfig') |