def migrate_nodes(index): logger.info('Migrating nodes to index: {}'.format(index)) query = Q('is_public', 'eq', True) & Q('is_deleted', 'eq', False) total = Node.find(query).count() increment = 200 total_pages = (total // increment) + 1 pages = paginated(Node, query=query, increment=increment, each=False) for page_number, page in enumerate(pages): logger.info('Updating page {} / {}'.format(page_number + 1, total_pages)) Node.bulk_update_search(page, index=index) Node._clear_caches() logger.info('Nodes migrated: {}'.format(total))
def test_fix_templated(self): assert_equal( 2, fix_nodes(get_broken_templated()) ) Node._clear_caches() broken_nodes = list(get_broken_templated()) assert_equal(0, len(broken_nodes)) assert_is_none(self.bad_template_project.piwik_site_id) assert_is_none(self.bad_template_component.piwik_site_id) assert_is_not_none(self.template_project.piwik_site_id) assert_is_not_none(self.template_component.piwik_site_id)
def test_fix_registrations(self): assert_equal( 1, fix_nodes(get_broken_registrations()) ) # invalidate m-odm cache Node._clear_caches() broken_nodes = list(get_broken_registrations()) assert_equal(0, len(broken_nodes)) assert_is_none( self.broken_registration.piwik_site_id ) assert_is_not_none( self.broken_registration.registered_from.piwik_site_id )