本文整理汇总了Python中corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL.soft_delete_cases方法的典型用法代码示例。如果您正苦于以下问题:Python CaseAccessorSQL.soft_delete_cases方法的具体用法?Python CaseAccessorSQL.soft_delete_cases怎么用?Python CaseAccessorSQL.soft_delete_cases使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL
的用法示例。
在下文中一共展示了CaseAccessorSQL.soft_delete_cases方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_get_deleted_case_ids_by_owner
# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import soft_delete_cases [as 别名]
def test_get_deleted_case_ids_by_owner(self):
user_id = uuid.uuid4().hex
case1 = _create_case(user_id=user_id)
case2 = _create_case(user_id=user_id)
case3 = _create_case(user_id=user_id)
CaseAccessorSQL.soft_delete_cases(DOMAIN, [case1.case_id, case2.case_id])
case_ids = CaseAccessorSQL.get_deleted_case_ids_by_owner(DOMAIN, user_id)
self.assertEqual(set(case_ids), {case1.case_id, case2.case_id})
示例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 soft_delete_cases [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: _copy_unprocessed_case
# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import soft_delete_cases [as 别名]
def _copy_unprocessed_case(self, change):
couch_case = CommCareCase.wrap(change.get_document())
self.log_debug('Processing doc: {}({})'.format(couch_case['doc_type'], change.id))
try:
first_action = couch_case.actions[0]
except IndexError:
first_action = CommCareCaseAction()
sql_case = CommCareCaseSQL(
case_id=couch_case.case_id,
domain=self.domain,
type=couch_case.type or '',
name=couch_case.name,
owner_id=couch_case.owner_id or couch_case.user_id or '',
opened_on=couch_case.opened_on or first_action.date,
opened_by=couch_case.opened_by or first_action.user_id,
modified_on=couch_case.modified_on,
modified_by=couch_case.modified_by or couch_case.user_id or '',
server_modified_on=couch_case.server_modified_on,
closed=couch_case.closed,
closed_on=couch_case.closed_on,
closed_by=couch_case.closed_by,
deleted=True,
deletion_id=couch_case.deletion_id,
deleted_on=couch_case.deletion_date,
external_id=couch_case.external_id,
case_json=couch_case.dynamic_case_properties()
)
_migrate_case_actions(couch_case, sql_case)
_migrate_case_indices(couch_case, sql_case)
_migrate_case_attachments(couch_case, sql_case)
try:
CaseAccessorSQL.save_case(sql_case)
except IntegrityError:
# case re-created by form processing so just mark the case as deleted
CaseAccessorSQL.soft_delete_cases(
self.domain,
[sql_case.case_id],
sql_case.deleted_on,
sql_case.deletion_id
)
self.processed_docs += 1
self._log_unprocessed_cases_processed_count(throttled=True)
示例4: _test_process_deleted_doc_from_sql
# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import soft_delete_cases [as 别名]
def _test_process_deleted_doc_from_sql(self, datetime_mock):
datetime_mock.utcnow.return_value = self.fake_time_now
sample_doc, expected_indicators = get_sample_doc_and_indicators(self.fake_time_now)
since = self.pillow.get_change_feed().get_latest_offsets()
# save case to DB - should also publish to kafka
case = _save_sql_case(sample_doc)
# run pillow and check changes
self.pillow.process_changes(since=since, forever=False)
self._check_sample_doc_state(expected_indicators)
# delete the case and verify it's removed
since = self.pillow.get_change_feed().get_latest_offsets()
CaseAccessorSQL.soft_delete_cases(case.domain, [case.case_id])
self.pillow.process_changes(since=since, forever=False)
self.assertEqual(0, self.adapter.get_query_object().count())
CaseAccessorSQL.hard_delete_cases(case.domain, [case.case_id])
示例5: soft_delete
# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import soft_delete_cases [as 别名]
def soft_delete(self):
from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL
CaseAccessorSQL.soft_delete_cases(self.domain, [self.case_id])
self.deleted = True