diff --git a/frappe/automation/doctype/milestone_tracker/test_milestone_tracker.py b/frappe/automation/doctype/milestone_tracker/test_milestone_tracker.py index a7a9cbaacf..7c237cf534 100644 --- a/frappe/automation/doctype/milestone_tracker/test_milestone_tracker.py +++ b/frappe/automation/doctype/milestone_tracker/test_milestone_tracker.py @@ -18,7 +18,7 @@ class TestMilestoneTracker(IntegrationTestCase): def test_milestone(self): frappe.db.delete("Milestone Tracker") - frappe.cache.delete_key("milestone_tracker_map") + frappe.cache_manager.clear_doctype_map("Milestone Tracker") milestone_tracker = frappe.get_doc( doctype="Milestone Tracker", document_type="ToDo", track_field="status" diff --git a/frappe/cache_manager.py b/frappe/cache_manager.py index b827ce363a..a9d87c620f 100644 --- a/frappe/cache_manager.py +++ b/frappe/cache_manager.py @@ -13,8 +13,8 @@ doctypes_for_mapping = { } -def get_doctype_map_key(doctype): - return frappe.scrub(doctype) + "_map" +def get_doctype_map_key(doctype, name="*") -> str: + return frappe.scrub(doctype) + f"_map::{name}" doctype_map_keys = tuple(map(get_doctype_map_key, doctypes_for_mapping)) @@ -76,6 +76,7 @@ doctype_cache_keys = ( wildcard_keys = ( "document_cache::*", "table_columns::*", + *doctype_map_keys, ) @@ -180,15 +181,14 @@ def clear_controller_cache(doctype=None): def get_doctype_map(doctype, name, filters=None, order_by=None): - return frappe.cache.hget( - get_doctype_map_key(doctype), - name, - lambda: frappe.get_all(doctype, filters=filters, order_by=order_by, ignore_ddl=True), + return frappe.client_cache.get_value( + get_doctype_map_key(doctype, name), + generator=lambda: frappe.get_all(doctype, filters=filters, order_by=order_by, ignore_ddl=True), ) -def clear_doctype_map(doctype, name): - frappe.cache.hdel(frappe.scrub(doctype) + "_map", name) +def clear_doctype_map(doctype, name="*"): + frappe.client_cache.delete_keys(get_doctype_map_key(doctype, name)) def build_table_count_cache(): diff --git a/frappe/social/doctype/energy_point_log/test_energy_point_log.py b/frappe/social/doctype/energy_point_log/test_energy_point_log.py index a3a1edd86a..f1aca37f3f 100644 --- a/frappe/social/doctype/energy_point_log/test_energy_point_log.py +++ b/frappe/social/doctype/energy_point_log/test_energy_point_log.py @@ -1,6 +1,7 @@ # Copyright (c) 2019, Frappe Technologies and Contributors # License: MIT. See LICENSE import frappe +from frappe.cache_manager import clear_doctype_map from frappe.desk.form.assign_to import add as assign_to from frappe.desk.page.user_profile.user_profile import get_energy_points_heatmap_data from frappe.tests import IntegrationTestCase, UnitTestCase @@ -34,13 +35,13 @@ class TestEnergyPointLog(IntegrationTestCase): settings.save() def setUp(self): - frappe.cache.delete_value("energy_point_rule_map") + clear_doctype_map("Energy Point Rule") def tearDown(self): frappe.set_user("Administrator") frappe.db.delete("Energy Point Log") frappe.db.delete("Energy Point Rule") - frappe.cache.delete_value("energy_point_rule_map") + clear_doctype_map("Energy Point Rule") def test_user_energy_point(self): frappe.set_user("test@example.com")