perf: composite index on (serial_no, warehouse, posting_datetime) for Serial and Batch Entry (backport #56032) (#56166)

* perf: composite index on (serial_no, warehouse, posting_datetime)

(cherry picked from commit b1b6ae98ed)

# Conflicts:
#	erpnext/patches.txt

* chore: fix conflicts

Removed conflicting patch entries and retained relevant ones.

* chore: fix conflicts

---------

Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com>
This commit is contained in:
mergify[bot]
2026-06-19 12:54:19 +00:00
committed by GitHub
parent cb47745d8c
commit c0dab55fcc
4 changed files with 12 additions and 6 deletions

View File

@@ -483,3 +483,4 @@ erpnext.patches.v16_0.fix_titles
erpnext.patches.v16_0.set_not_applicable_on_german_item_tax_templates
erpnext.patches.v16_0.clear_procedures_from_receivable_report
erpnext.patches.v16_0.migrate_address_contact_custom_fields
erpnext.patches.v16_0.drop_redundant_serial_no_index_from_sabb

View File

@@ -0,0 +1,7 @@
from frappe.database.utils import drop_index_if_exists
def execute():
drop_index_if_exists("tabSerial and Batch Entry", "serial_no")
drop_index_if_exists("tabSerial and Batch Entry", "warehouse")
drop_index_if_exists("tabSerial and Batch Entry", "type_of_transaction")

View File

@@ -37,8 +37,7 @@
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Serial No",
"options": "Serial No",
"search_index": 1
"options": "Serial No"
},
{
"depends_on": "eval:parent.has_batch_no == 1",
@@ -62,8 +61,7 @@
"fieldtype": "Link",
"in_list_view": 1,
"label": "Warehouse",
"options": "Warehouse",
"search_index": 1
"options": "Warehouse"
},
{
"fieldname": "column_break_2",
@@ -178,8 +176,7 @@
"fieldtype": "Data",
"label": "Type of Transaction",
"no_copy": 1,
"read_only": 1,
"search_index": 1
"read_only": 1
},
{
"fieldname": "column_break_eykr",

View File

@@ -42,3 +42,4 @@ class SerialandBatchEntry(Document):
def on_doctype_update():
frappe.db.add_index("Serial and Batch Entry", ["warehouse", "batch_no", "posting_datetime"])
frappe.db.add_index("Serial and Batch Entry", ["warehouse", "serial_no", "posting_datetime"])