server/checkintegrity.py
changeset 3417 fb17a54b358c
parent 3374 d5bd1b659ce8
child 3720 5376aaadd16b
equal deleted inserted replaced
3416:d74c627981e1 3417:fb17a54b358c
    66 
    66 
    67 def reindex_entities(schema, session):
    67 def reindex_entities(schema, session):
    68     """reindex all entities in the repository"""
    68     """reindex all entities in the repository"""
    69     # deactivate modification_date hook since we don't want them
    69     # deactivate modification_date hook since we don't want them
    70     # to be updated due to the reindexation
    70     # to be updated due to the reindexation
    71     from cubicweb.server.hooks import (setmtime_before_update_entity,
       
    72                                        uniquecstrcheck_before_modification)
       
    73     from cubicweb.server.repository import FTIndexEntityOp
    71     from cubicweb.server.repository import FTIndexEntityOp
    74     repo = session.repo
    72     repo = session.repo
    75     cursor = session.pool['system']
    73     cursor = session.pool['system']
    76     if not repo.system_source.indexer.has_fti_table(cursor):
    74     if not repo.system_source.indexer.has_fti_table(cursor):
    77         from indexer import get_indexer
    75         from indexer import get_indexer
    78         print 'no text index table'
    76         print 'no text index table'
    79         indexer = get_indexer(repo.system_source.dbdriver)
    77         indexer = get_indexer(repo.system_source.dbdriver)
    80         # XXX indexer.init_fti(cursor) once index 0.7 is out
    78         # XXX indexer.init_fti(cursor) once index 0.7 is out
    81         indexer.init_extensions(cursor)
    79         indexer.init_extensions(cursor)
    82         cursor.execute(indexer.sql_init_fti())
    80         cursor.execute(indexer.sql_init_fti())
    83     repo.hm.unregister_hook(setmtime_before_update_entity,
    81     repo.config.disabled_hooks_categories.add('metadata')
    84                             'before_update_entity', '')
    82     repo.config.disabled_hooks_categories.add('integrity')
    85     repo.hm.unregister_hook(uniquecstrcheck_before_modification,
       
    86                             'before_update_entity', '')
       
    87     repo.do_fti = True  # ensure full-text indexation is activated
    83     repo.do_fti = True  # ensure full-text indexation is activated
    88     etypes = set()
    84     etypes = set()
    89     for eschema in schema.entities():
    85     for eschema in schema.entities():
    90         if eschema.is_final():
    86         if eschema.is_final():
    91             continue
    87             continue