ERPNext Conference 2019* Blog




Anyone stuck in a situation detailed below?

pymysql.err.InternalError: (1054, “Unknown column ‘pricing_rules’ in ‘field list’”)

bench update --patch

after a version12 upgrade during which we received a PyYAML version error but after upgrade ran:
pip install PyYAML==3.13

erpnext 12.0.0
frappe 12.0.0


@lams has same traceback


I Have the same problem
pymysql.err.InternalError: (1054, “Unknown column ‘pricing_rules’ in ‘field list’”)
frappe@erpnext:~/frappe-bench$ bench update --patch
Backing up sites…
Patching sites…
Migrating site1.local
Executing erpnext.patches.v12_0.update_pricing_rule_fields in site1.local (1bd3e0294da19198)
Traceback (most recent call last):
File “/usr/lib/python3.6/”, line 193, in _run_module_as_main
main”, mod_spec)
File “/usr/lib/python3.6/”, line 85, in _run_code
exec(code, run_globals)
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/”, line 97, in
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/”, line 18, in main
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 764, in call
return self.main(*args, **kwargs)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 717, in main
rv = self.invoke(ctx)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 555, in invoke
return callback(*args, **kwargs)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/click/”, line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/commands/”, line 25, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/commands/”, line 234, in migrate
migrate(context.verbose, rebuild_website=rebuild_website, skip_failing=skip_failing)
File “/home/frappe/frappe-bench/apps/frappe/frappe/”, line 48, in migrate
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/”, line 41, in run_all
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/”, line 30, in run_patch
if not run_single(patchmodule = patch):
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/”, line 71, in run_single
return execute_patch(patchmodule, method, methodargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/”, line 91, in execute_patch
frappe.get_attr(patchmodule.split()[0] + “.execute”)()
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/patches/v12_0/”, line 33, in execute
“”".format(child_doctype= child_doctype))
File “/home/frappe/frappe-bench/apps/frappe/frappe/database/”, line 171, in sql
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/pymysql/”, line 170, in execute
result = self._query(query)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/pymysql/”, line 328, in _query
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/pymysql/”, line 517, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/pymysql/”, line 732, in _read_query_result
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/pymysql/”, line 1075, in read
first_packet = self.connection._read_packet()
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/pymysql/”, line 684, in _read_packet
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/pymysql/”, line 220, in check_error
File “/home/frappe/frappe-bench/env/lib/python3.6/site-packages/pymysql/”, line 109, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.InternalError: (1054, “Unknown column ‘pricing_rules’ in ‘field list’”)


frappe@erpnext:~/frappe-bench$ pip install PyYAML==3.13
-bash: /home/frappe/.local/bin/pip: No such file or directory



/home/frappe/.local/bin is not user account frappe’s PATH. This post explains the problem and fix


I guess line#42 in /home/frappe/bench/apps/erpnext/erpnext/patches/v12_0/ is somehow buggy!

The line has a string called pricing_rule as parameter as all others are pointers. The GitHub user rohitwaghchaure is responsible for this. Can anyone reach out to him?


Please report the problem here

Be sure to link to this discussion here and a link here to the reported issue


GitHub Issue opened


I noted on github

today I have same error. Error migrate Items table don’t have pricing_rules field.

I try to skip this step by edit this file:
doctypes = {} or return do not run this patch

bench migrate

after run success restore then run

bench --site [sitename] run-patch erpnext.patches.v12_0.update_pricing_rule_fields


Big thanks for you @vinhnguyent090
this working very well
thank you
you are saving my life


That is good to run a script without error but are we skipping the update routine or this update script is useless altogether? Why isn’t it working in the first run?


I check my case.

It error not reload doc “tabPurchase Order Item” child table => pricing_rules is not found
=> When I skip this patch and I check this child table update well (this child table have pricing_rules field).
=> I run again this patch and It run.


Thanks for the solution. It seems to work and allows to proceed with update from V11 to V12. I am left however with an error - every time I hover on an item or try to click on an item - I get the following message:

InternalError: (1054, u"Unknown column ‘317f1457ae’ in ‘field list’")

Will appreciate any insight on how to resolve. Thanks.

V12 Server Error: InternalError: (1054, u "Unknown column '21132769fc' in 'field list'")


InternalError: (1054, u"Unknown column ‘317f1457ae’ in ‘field list’")

=> I have this error too.
=> I can’t not find the root error.
=> temp solution create “317f1457ae” by customize field. then delete it.


Hi. I tried that - created a custom field 317f1457ae for doctype Item. Then deleted it. When I go back to item - it gives error - with a different column number.

Actually resolved it by creating a manufacturer (same as supplier) for the item. Likely - during upgrade to v12 may have applied manufacturer item patch to this site - though error was reported to another site…