From a13bf7246f1045a2d31f2317c55cbe2d4edf91d1 Mon Sep 17 00:00:00 2001 From: sokumon Date: Wed, 30 Jul 2025 19:57:51 +0530 Subject: [PATCH] fix: prevent row-size limit error --- frappe/database/schema.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/frappe/database/schema.py b/frappe/database/schema.py index cb0afb4281..40702427d0 100644 --- a/frappe/database/schema.py +++ b/frappe/database/schema.py @@ -436,6 +436,8 @@ def get_definition(fieldtype, precision=None, length=None, *, options=None): if length: if coltype == "varchar": + if length < 64: + length = 64 size = length elif coltype == "int" and length < 11: # allow setting custom length for int if length provided is less than 11 @@ -470,5 +472,9 @@ def add_column(doctype, column_name, fieldtype, precision=None, length=None, def query += " not null" if default: query += f" default '{default}'" - - frappe.db.sql(query) + try: + frappe.db.sql(query) + except Exception as err: + # 1118 is error code for the row size limit exceeded error + if hasattr(err, "args") and err.args[0] == 1118: + frappe.db.rollback()