Example #1
0
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)
Example #2
0
 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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
 def iter_document_ids(self):
     accessor = LedgerReindexAccessor(self.domain)
     return iter_all_ids(accessor)
Example #6
0
 def reindex_accessor(self):
     return LedgerReindexAccessor()
Example #7
0
 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())