本文整理汇总了Python中corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL.get_case_ids_in_domain方法的典型用法代码示例。如果您正苦于以下问题:Python CaseAccessorSQL.get_case_ids_in_domain方法的具体用法?Python CaseAccessorSQL.get_case_ids_in_domain怎么用?Python CaseAccessorSQL.get_case_ids_in_domain使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL
的用法示例。
在下文中一共展示了CaseAccessorSQL.get_case_ids_in_domain方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_get_case_ids_in_domain
# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import get_case_ids_in_domain [as 别名]
def test_get_case_ids_in_domain(self):
case1 = _create_case(case_type='t1')
case2 = _create_case(case_type='t1')
case3 = _create_case(case_type='t2')
case_ids = CaseAccessorSQL.get_case_ids_in_domain(DOMAIN)
self.assertEqual({case1.case_id, case2.case_id, case3.case_id}, set(case_ids))
case_ids = CaseAccessorSQL.get_case_ids_in_domain(DOMAIN, 't1')
self.assertEqual({case1.case_id, case2.case_id}, set(case_ids))
case2.domain = 'new_domain'
CaseAccessorSQL.save_case(case2)
case_ids = CaseAccessorSQL.get_case_ids_in_domain(DOMAIN)
self.assertEqual({case1.case_id, case3.case_id}, set(case_ids))
示例2: test_get_deleted_case_ids
# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import get_case_ids_in_domain [as 别名]
def test_get_deleted_case_ids(self):
case1 = _create_case()
case2 = _create_case()
CaseAccessorSQL.soft_delete_cases(DOMAIN, [case1.case_id])
case_ids = CaseAccessorSQL.get_case_ids_in_domain(DOMAIN)
self.assertEqual(case_ids, [case2.case_id])
deleted = CaseAccessorSQL.get_deleted_case_ids_in_domain(DOMAIN)
self.assertEquals(deleted, [case1.case_id])
示例3: print_stats
# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import get_case_ids_in_domain [as 别名]
def print_stats(self, domain, short=True, diffs_only=False):
status = get_couch_sql_migration_status(domain)
print("Couch to SQL migration status for {}: {}".format(domain, status))
db = get_diff_db(domain)
try:
diff_stats = db.get_diff_stats()
except OperationalError:
diff_stats = {}
has_diffs = False
for doc_type in doc_types():
form_ids_in_couch = set(get_form_ids_by_type(domain, doc_type))
form_ids_in_sql = set(FormAccessorSQL.get_form_ids_in_domain_by_type(domain, doc_type))
diff_count, num_docs_with_diffs = diff_stats.pop(doc_type, (0, 0))
has_diffs |= self._print_status(
doc_type, form_ids_in_couch, form_ids_in_sql, diff_count, num_docs_with_diffs, short, diffs_only
)
form_ids_in_couch = set(get_doc_ids_in_domain_by_type(
domain, "XFormInstance-Deleted", XFormInstance.get_db())
)
form_ids_in_sql = set(FormAccessorSQL.get_deleted_form_ids_in_domain(domain))
diff_count, num_docs_with_diffs = diff_stats.pop("XFormInstance-Deleted", (0, 0))
has_diffs |= self._print_status(
"XFormInstance-Deleted", form_ids_in_couch, form_ids_in_sql,
diff_count, num_docs_with_diffs, short, diffs_only
)
case_ids_in_couch = set(get_case_ids_in_domain(domain))
case_ids_in_sql = set(CaseAccessorSQL.get_case_ids_in_domain(domain))
diff_count, num_docs_with_diffs = diff_stats.pop("CommCareCase", (0, 0))
has_diffs |= self._print_status(
'CommCareCase', case_ids_in_couch, case_ids_in_sql, diff_count, num_docs_with_diffs, short, diffs_only
)
case_ids_in_couch = set(get_doc_ids_in_domain_by_type(
domain, "CommCareCase-Deleted", XFormInstance.get_db())
)
case_ids_in_sql = set(CaseAccessorSQL.get_deleted_case_ids_in_domain(domain))
diff_count, num_docs_with_diffs = diff_stats.pop("CommCareCase-Deleted", (0, 0))
has_diffs |= self._print_status(
'CommCareCase-Deleted', case_ids_in_couch, case_ids_in_sql,
diff_count, num_docs_with_diffs, short, diffs_only
)
if diff_stats:
for key, counts in diff_stats.items():
diff_count, num_docs_with_diffs = counts
has_diffs |= self._print_status(
key, set(), set(), diff_count, num_docs_with_diffs, short, diffs_only
)
if diffs_only and not has_diffs:
print(shell_green("No differences found between old and new docs!"))
return has_diffs
示例4: delete_all_ledgers
# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import get_case_ids_in_domain [as 别名]
def delete_all_ledgers(domain):
if should_use_sql_backend(domain):
for case_id in CaseAccessorSQL.get_case_ids_in_domain(domain):
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)
else:
from casexml.apps.stock.models import StockReport
from casexml.apps.stock.models import StockTransaction
stock_report_ids = StockReport.objects.filter(domain=domain).values_list('id', flat=True)
StockReport.objects.filter(domain=domain).delete()
StockTransaction.objects.filter(report_id__in=stock_report_ids).delete()
示例5: check_for_sql_cases_without_existing_domain
# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import get_case_ids_in_domain [as 别名]
def check_for_sql_cases_without_existing_domain():
missing_domains_with_cases = set()
for domain in set(_get_all_domains_that_have_ever_had_subscriptions()) - set(Domain.get_all_names()):
if CaseAccessorSQL.get_case_ids_in_domain(domain):
missing_domains_with_cases |= {domain}
if missing_domains_with_cases:
mail_admins_async.delay(
'There exist SQL cases belonging to a missing domain',
six.text_type(missing_domains_with_cases)
)
elif _is_monday():
mail_admins_async.delay(
'All SQL cases belong to valid domains', ''
)
示例6: delete_all_v2_ledgers
# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import get_case_ids_in_domain [as 别名]
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)
示例7: get_diff_stats
# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import get_case_ids_in_domain [as 别名]
def get_diff_stats(self, domain):
db = get_diff_db(domain)
diff_stats = db.get_diff_stats()
stats = {}
def _update_stats(doc_type, couch_count, sql_count):
diff_count, num_docs_with_diffs = diff_stats.pop(doc_type, (0, 0))
if diff_count or couch_count != sql_count:
stats[doc_type] = (couch_count, sql_count, diff_count, num_docs_with_diffs)
for doc_type in doc_types():
form_ids_in_couch = len(set(get_form_ids_by_type(domain, doc_type)))
form_ids_in_sql = len(set(FormAccessorSQL.get_form_ids_in_domain_by_type(domain, doc_type)))
_update_stats(doc_type, form_ids_in_couch, form_ids_in_sql)
form_ids_in_couch = len(set(get_doc_ids_in_domain_by_type(
domain, "XFormInstance-Deleted", XFormInstance.get_db())
))
form_ids_in_sql = len(set(FormAccessorSQL.get_deleted_form_ids_in_domain(domain)))
_update_stats("XFormInstance-Deleted", form_ids_in_couch, form_ids_in_sql)
case_ids_in_couch = len(set(get_case_ids_in_domain(domain)))
case_ids_in_sql = len(set(CaseAccessorSQL.get_case_ids_in_domain(domain)))
_update_stats("CommCareCase", case_ids_in_couch, case_ids_in_sql)
if self.strict:
# only care about these in strict mode
case_ids_in_couch = len(set(get_doc_ids_in_domain_by_type(
domain, "CommCareCase-Deleted", XFormInstance.get_db())
))
case_ids_in_sql = len(set(CaseAccessorSQL.get_deleted_case_ids_in_domain(domain)))
_update_stats("CommCareCase-Deleted", case_ids_in_couch, case_ids_in_sql)
if diff_stats:
for key in diff_stats.keys():
_update_stats(key, 0, 0)
return stats