cubicweb/misc/migration/3.24.0_Any.py
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Mon, 30 Jan 2017 17:17:17 +0100
branch3.24
changeset 11937 7d3ee5a516fa
parent 11890 01bfc50e1a47
child 11948 73ed9c204de9
permissions -rw-r--r--
[migration] Fix crash on 3.24 migration Some sql using a column droped the line above crash migration of cw < 3.24.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
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
     9
# 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
    10
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
    11
        "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
    12
        "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
    13
    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
    14
        {'eid': eid, 'cwuri': b64decode(encoded_extid)})
11937
7d3ee5a516fa [migration] Fix crash on 3.24 migration
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11890
diff changeset
    15
7d3ee5a516fa [migration] Fix crash on 3.24 migration
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11890
diff changeset
    16
sql('DROP TABLE moved_entities')
7d3ee5a516fa [migration] Fix crash on 3.24 migration
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11890
diff changeset
    17
sql('ALTER TABLE entities DROP COLUMN asource')
11774
51c160677afe [repository] Drop the entities.extid column and associated cache
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11773
diff changeset
    18
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
    19
sql('DROP INDEX entities_type_idx')
11775
39cf9e55ada8 [source] Drop source mapping handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11774
diff changeset
    20
11808
4a387179fa33 [migration] Drop cw_schema relation first
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11776
diff changeset
    21
# 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
    22
drop_relation_type('cw_schema')
11775
39cf9e55ada8 [source] Drop source mapping handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 11774
diff changeset
    23
drop_entity_type('CWSourceSchemaConfig')