Added index in sales/purchase invoice and fix in index patch
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
index efd4a28..e192e76 100755
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -29,7 +29,8 @@
"options": "Supplier",
"permlevel": 0,
"print_hide": 1,
- "read_only": 0
+ "read_only": 0,
+ "search_index": 1
},
{
"depends_on": "supplier",
@@ -112,7 +113,7 @@
"print_hide": 1,
"read_only": 0,
"reqd": 0,
- "search_index": 1
+ "search_index": 0
},
{
"fieldname": "bill_date",
@@ -125,7 +126,7 @@
"print_hide": 1,
"read_only": 0,
"reqd": 0,
- "search_index": 1
+ "search_index": 0
},
{
"fieldname": "amended_from",
@@ -151,7 +152,7 @@
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
- "search_index": 1
+ "search_index": 0
},
{
"fieldname": "currency_and_price_list",
@@ -556,7 +557,7 @@
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
- "search_index": 1
+ "search_index": 0
},
{
"fieldname": "write_off_amount",
@@ -733,7 +734,7 @@
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
- "search_index": 1
+ "search_index": 0
},
{
"allow_on_submit": 1,
@@ -760,7 +761,7 @@
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
- "search_index": 1
+ "search_index": 0
},
{
"fieldname": "mode_of_payment",
@@ -789,7 +790,7 @@
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
- "search_index": 1
+ "search_index": 0
},
{
"fieldname": "remarks",
@@ -930,7 +931,7 @@
"icon": "icon-file-text",
"idx": 1,
"is_submittable": 1,
- "modified": "2015-06-15 15:38:19.220184",
+ "modified": "2015-06-16 16:46:47.308287",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Purchase Invoice",
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
index 26aa13e..a021be4 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -38,7 +38,8 @@
"options": "Customer",
"permlevel": 0,
"print_hide": 1,
- "read_only": 0
+ "read_only": 0,
+ "search_index": 1
},
{
"depends_on": "customer",
@@ -880,7 +881,7 @@
"options": "Project",
"permlevel": 0,
"read_only": 0,
- "search_index": 1
+ "search_index": 0
},
{
"depends_on": "eval:doc.source == 'Campaign'",
@@ -1243,7 +1244,7 @@
"icon": "icon-file-text",
"idx": 1,
"is_submittable": 1,
- "modified": "2015-06-15 15:38:08.543029",
+ "modified": "2015-06-16 16:45:06.618286",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Invoice",
diff --git a/erpnext/patches/v5_0/index_on_account_and_gl_entry.py b/erpnext/patches/v5_0/index_on_account_and_gl_entry.py
index b03b27a..16e43d6 100644
--- a/erpnext/patches/v5_0/index_on_account_and_gl_entry.py
+++ b/erpnext/patches/v5_0/index_on_account_and_gl_entry.py
@@ -5,18 +5,26 @@
def execute():
index_map = {
"Account": ["parent_account", "lft", "rgt"],
- "GL Entry": ["posting_date", "account", 'party', "voucher_no"]
+ "GL Entry": ["posting_date", "account", 'party', "voucher_no"],
+ "Sales Invoice": ["posting_date", "debit_to", "customer"],
+ "Purchase Invoice": ["posting_date", "credit_to", "supplier"]
}
for dt, indexes in index_map.items():
- existing_indexes = [d.Key_name for d in frappe.db.sql("""show index from `tab{0}`
+ existing_indexes = [(d.Key_name, d.Column_name) for d in frappe.db.sql("""show index from `tab{0}`
where Column_name != 'name'""".format(dt), as_dict=1)]
- for old in existing_indexes:
- if old in ("parent", "group_or_ledger", "is_pl_account", "debit_or_credit", "account_name", "company"):
+ for old, column in existing_indexes:
+ if column in ("parent", "group_or_ledger", "is_group", "is_pl_account", "debit_or_credit",
+ "account_name", "company", "project_name", "voucher_date", "due_date", "bill_no",
+ "bill_date", "is_opening", "fiscal_year", "outstanding_amount"):
frappe.db.sql("alter table `tab{0}` drop index {1}".format(dt, old))
- existing_indexes.remove(old)
+
+ existing_indexes = [(d.Key_name, d.Column_name) for d in frappe.db.sql("""show index from `tab{0}`
+ where Column_name != 'name'""".format(dt), as_dict=1)]
+
+ existing_indexed_columns = list(set([x[1] for x in existing_indexes]))
for new in indexes:
- if new not in existing_indexes:
+ if new not in existing_indexed_columns:
frappe.db.sql("alter table `tab{0}` add index ({1})".format(dt, new))
\ No newline at end of file