From 40b465ee0d73123d7c4191a628f0a3f118ed2fc9 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 26 Jun 2025 12:19:44 +0530 Subject: [PATCH] fix: Avoid unnecessary syncing defaults (#33108) When default is `'0.0000'` (string) it gets synced again and again even though it will end up being 0 again. --- frappe/database/schema.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/frappe/database/schema.py b/frappe/database/schema.py index 005064cae4..400242ad72 100644 --- a/frappe/database/schema.py +++ b/frappe/database/schema.py @@ -332,7 +332,13 @@ class DbColumn: def default_changed_for_decimal(self, current_def): try: if current_def["default"] in ("", None) and self.default in ("", None): - # both none, empty + return False + + elif ( + current_def["default"] + and float(current_def["default"]) == 0.0 + and self.default in ("", None, 0.0) + ): return False elif current_def["default"] in ("", None):