misc/migration/3.10.4_Any.py
author Yann Voté <yann.vote@logilab.fr>
Wed, 24 Jun 2015 23:23:57 +0200
changeset 10457 1f5026e7d848
parent 6702 dfc19a6fb8aa
permissions -rw-r--r--
[dataimport] Move stores to new API. Here is the final store API: * ``prepare_insert_entity(<entity type>, **kwargs) -> eid``: given an entity type, attributes and inlined relations, return the eid of the entity to be inserted, *with no guarantee that anything has been inserted in database*, * ``prepare_update_entity(<entity type>, eid, **kwargs) -> None``: given an entity type and eid, promise for update given attributes and inlined relations *with no guarantee that anything has been inserted in database*, * ``prepare_insert_relation(eid_from, rtype, eid_to) -> None``: indicate that a relation ``rtype`` should be added between entities with eids ``eid_from`` and ``eid_to``. Similarly to ``prepare_insert_entity()``, *there is no guarantee that the relation will be inserted in database*, * ``flush() -> None``: flush any temporary data to database. May be called several times during an import, * ``finish() -> None``: additional stuff to do after import is terminated. **Warning:** ``prepare_update_entity()`` still needs to be implemented for NoHookRQLObjectStore. Related to #5040344
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6579
2b93aa515031 [migration] fix 3.10 migration: since cw_source is marked as meta relation, it has not been automatically added to all existant entity type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     1
for eschema in schema.entities():
6608
1a76045d093d [migration] skip final entity types
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 6607
diff changeset
     2
    if not (eschema.final or 'cw_source' in eschema.subjrels):
6702
dfc19a6fb8aa [migration] 3.10.4 migration should not ask confirmation when adding CWSource
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 6679
diff changeset
     3
        add_relation_definition(eschema.type, 'cw_source', 'CWSource', ask_confirm=False)
6579
2b93aa515031 [migration] fix 3.10 migration: since cw_source is marked as meta relation, it has not been automatically added to all existant entity type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     4
2b93aa515031 [migration] fix 3.10 migration: since cw_source is marked as meta relation, it has not been automatically added to all existant entity type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     5
sql('INSERT INTO cw_source_relation(eid_from, eid_to) '
2b93aa515031 [migration] fix 3.10 migration: since cw_source is marked as meta relation, it has not been automatically added to all existant entity type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     6
    'SELECT e.eid,s.cw_eid FROM entities as e, cw_CWSource as s '
6621
11c09415078b [migration] stupid typo, cw_source still not properly set
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 6608
diff changeset
     7
    'WHERE s.cw_name=e.source AND NOT EXISTS(SELECT 1 FROM cw_source_relation WHERE eid_from=e.eid AND eid_to=s.cw_eid)')
6579
2b93aa515031 [migration] fix 3.10 migration: since cw_source is marked as meta relation, it has not been automatically added to all existant entity type
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
diff changeset
     8
commit()