def test_get_all_doc_ids_for_domain_grouped_by_db(self): self.assertEqual( {key.uri: list(value) for key, value in get_all_doc_ids_for_domain_grouped_by_db(self.domain)}, {get_db(None).uri: ['main_db_doc'], get_db('users').uri: ['users_db_doc'], get_db('fixtures').uri: []} )
def _pre_delete(self): from corehq.apps.domain.deletion import apply_deletion_operations # delete SQL models first because UCR tables are indexed by configs in couch apply_deletion_operations(self.name) # delete couch docs for db, related_doc_ids in get_all_doc_ids_for_domain_grouped_by_db(self.name): iter_bulk_delete(db, related_doc_ids, chunksize=500)
def test_get_all_doc_ids_for_domain_grouped_by_db(self): self.assertEqual( {key.uri: list(value) for key, value in get_all_doc_ids_for_domain_grouped_by_db(self.domain1)}, {get_db(None).uri: ['main_db_doc_all-docs-domain1'], get_db('users').uri: ['users_db_doc_all-docs-domain1'], get_db('meta').uri: [], get_db('fixtures').uri: [], get_db('domains').uri: [], get_db('apps').uri: []} )
def delete(self): from corehq.apps.domain.signals import commcare_domain_pre_delete results = commcare_domain_pre_delete.send_robust(sender='domain', domain=self) for result in results: if result[1]: raise DomainDeleteException( u"Error occurred during domain pre_delete {}: {}".format(self.name, str(result[1])) ) # delete all associated objects for db, related_doc_ids in get_all_doc_ids_for_domain_grouped_by_db(self.name): iter_bulk_delete(db, related_doc_ids, chunksize=500) self._delete_web_users_from_domain() self._delete_sql_objects() super(Domain, self).delete() Domain.get_by_name.clear(Domain, self.name) # clear the domain cache
def _pre_delete(self): from corehq.apps.domain.signals import commcare_domain_pre_delete from corehq.apps.domain.deletion import apply_deletion_operations dynamic_deletion_operations = [] results = commcare_domain_pre_delete.send_robust(sender='domain', domain=self) for result in results: response = result[1] if isinstance(response, Exception): raise DomainDeleteException(u"Error occurred during domain pre_delete {}: {}".format(self.name, str(response))) elif response: assert isinstance(response, list) dynamic_deletion_operations.extend(response) # delete all associated objects for db, related_doc_ids in get_all_doc_ids_for_domain_grouped_by_db(self.name): iter_bulk_delete(db, related_doc_ids, chunksize=500) apply_deletion_operations(self.name, dynamic_deletion_operations)
def _pre_delete(self): from corehq.apps.domain.signals import commcare_domain_pre_delete from corehq.apps.domain.deletion import apply_deletion_operations dynamic_deletion_operations = [] results = commcare_domain_pre_delete.send_robust(sender='domain', domain=self) for result in results: response = result[1] if isinstance(response, Exception): raise DomainDeleteException(u"Error occurred during domain pre_delete {}: {}".format(self.name, str(response))) elif response: assert isinstance(response, list) dynamic_deletion_operations.extend(response) # delete all associated objects for db, related_doc_ids in get_all_doc_ids_for_domain_grouped_by_db(self.name): iter_bulk_delete(db, related_doc_ids, chunksize=500) apply_deletion_operations(self.name, dynamic_deletion_operations)