From 251189a1e21ef533e2f21070fbc2a5cb722dd9d2 Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Sun, 8 Feb 2026 17:44:04 +0100 Subject: [PATCH] fix: skip db changes while renaming virtual doctype --- frappe/core/doctype/doctype/doctype.py | 2 +- frappe/model/rename_doc.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/frappe/core/doctype/doctype/doctype.py b/frappe/core/doctype/doctype/doctype.py index bee4a3ee2e..0b5557202e 100644 --- a/frappe/core/doctype/doctype/doctype.py +++ b/frappe/core/doctype/doctype/doctype.py @@ -680,7 +680,7 @@ class DocType(Document): where doctype=%s and field='name' and value = %s""", (new, new, old), ) - else: + elif not self.is_virtual: frappe.db.rename_table(old, new) frappe.db.commit() diff --git a/frappe/model/rename_doc.py b/frappe/model/rename_doc.py index d80faa4216..5e1f6e4276 100644 --- a/frappe/model/rename_doc.py +++ b/frappe/model/rename_doc.py @@ -649,6 +649,9 @@ def update_parenttype_values(old: str, new: str): child_doctypes = set(list(d["options"] for d in child_doctypes) + property_setter_child_doctypes) for doctype in child_doctypes: + if frappe.get_meta(doctype).is_virtual: + continue + table = frappe.qb.DocType(doctype) frappe.qb.update(table).set(table.parenttype, new).where(table.parenttype == old).run()