def get_ledger_v2_reindexer(): iteration_key = "SqlCaseToElasticsearchPillow_{}_reindexer".format( LEDGER_INDEX_INFO.index) doc_provider = SqlDocumentProvider(iteration_key, LedgerReindexAccessor()) return ResumableBulkElasticPillowReindexer( doc_provider, elasticsearch=get_es_new(), index_info=LEDGER_INDEX_INFO, doc_transform=_prepare_ledger_for_es)
def build(self): domain = self.options.pop('domain', None) iteration_key = "SqlCaseToElasticsearchPillow_{}_reindexer_{}".format( LEDGER_INDEX_INFO.index, domain or 'all') doc_provider = SqlDocumentProvider( iteration_key, LedgerReindexAccessor(domain=domain)) return ResumableBulkElasticPillowReindexer( doc_provider, elasticsearch=get_es_new(), index_info=LEDGER_INDEX_INFO, doc_transform=_prepare_ledger_for_es, **self.options)
def delete_all_v2_ledgers(domain=None): logger.debug("Deleting all V2 ledgers for domain %s", domain) def _delete_ledgers_for_case(case_id): transactions = LedgerAccessorSQL.get_ledger_transactions_for_case(case_id) form_ids = {tx.form_id for tx in transactions} for form_id in form_ids: LedgerAccessorSQL.delete_ledger_transactions_for_form([case_id], form_id) LedgerAccessorSQL.delete_ledger_values(case_id) if not domain: for ledger in iter_all_rows(LedgerReindexAccessor()): _delete_ledgers_for_case(ledger.case_id) else: for case_id in CaseAccessorSQL.get_case_ids_in_domain(domain): _delete_ledgers_for_case(case_id)
def delete_all_v2_ledgers(domain=None): logger.debug("Deleting all V2 ledgers for domain %s", domain) def _delete_ledgers_for_case(case_id): transactions = LedgerAccessorSQL.get_ledger_transactions_for_case(case_id) form_ids = {tx.form_id for tx in transactions} for form_id in form_ids: LedgerAccessorSQL.delete_ledger_transactions_for_form([case_id], form_id) LedgerAccessorSQL.delete_ledger_values(case_id) if not domain: for db in get_sql_db_aliases_in_use(): for ledger in LedgerReindexAccessor().get_docs(db, None, limit=10000): _delete_ledgers_for_case(ledger.case_id) else: for case_id in CaseAccessorSQL.get_case_ids_in_domain(domain): _delete_ledgers_for_case(case_id)
def iter_document_ids(self): accessor = LedgerReindexAccessor(self.domain) return iter_all_ids(accessor)
def reindex_accessor(self): return LedgerReindexAccessor()
def iter_document_ids(self): if should_use_sql_backend(self.domain): accessor = LedgerReindexAccessor(self.domain) return iter_all_ids(accessor) else: return iter(self._couch_iterator())