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 |