当前位置: 首页>>代码示例>>Python>>正文


Python CaseAccessorSQL.soft_delete_cases方法代码示例

本文整理汇总了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})
开发者ID:dimagi,项目名称:commcare-hq,代码行数:12,代码来源:test_case_dbaccessor.py

示例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])
开发者ID:dimagi,项目名称:commcare-hq,代码行数:12,代码来源:test_case_dbaccessor.py

示例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)
开发者ID:kkrampa,项目名称:commcare-hq,代码行数:46,代码来源:couchsqlmigration.py

示例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])
开发者ID:kkrampa,项目名称:commcare-hq,代码行数:22,代码来源:test_pillow.py

示例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
开发者ID:tlwakwella,项目名称:commcare-hq,代码行数:6,代码来源:models.py


注:本文中的corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL.soft_delete_cases方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。