Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pymysql.err.InternalError: (1054, "Unknown column 'pricing_rules' in 'field list'") #18522

toofun666 opened this issue Jul 29, 2019 · 4 comments


Copy link

commented Jul 29, 2019

erpnext 12.0.2
frappe 12.0.2
When you try to
bench update --patch
after a database restore from version-11 database you receive the following:
Executing erpnext.patches.v12_0.update_pricing_rule_fields in (_e43c835dee0489b9)
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/bench/apps/frappe/frappe/utils/", line 97, in
File "/home/frappe/bench/apps/frappe/frappe/utils/", line 18, in main
File "/home/frappe/bench/env/lib/python3.6/site-packages/click/", line 764, in call
return self.main(*args, **kwargs)
File "/home/frappe/bench/env/lib/python3.6/site-packages/click/", line 717, in main
rv = self.invoke(ctx)
File "/home/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/bench/env/lib/python3.6/site-packages/click/", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/frappe/bench/env/lib/python3.6/site-packages/click/", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/frappe/bench/env/lib/python3.6/site-packages/click/", line 555, in invoke
return callback(*args, **kwargs)
File "/home/frappe/bench/env/lib/python3.6/site-packages/click/", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/frappe/bench/apps/frappe/frappe/commands/", line 25, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File "/home/frappe/bench/apps/frappe/frappe/commands/", line 234, in migrate
migrate(context.verbose, rebuild_website=rebuild_website, skip_failing=skip_failing)
File "/home/frappe/bench/apps/frappe/frappe/", line 48, in migrate
File "/home/frappe/bench/apps/frappe/frappe/modules/", line 41, in run_all
File "/home/frappe/bench/apps/frappe/frappe/modules/", line 30, in run_patch
if not run_single(patchmodule = patch):
File "/home/frappe/bench/apps/frappe/frappe/modules/", line 71, in run_single
return execute_patch(patchmodule, method, methodargs)
File "/home/frappe/bench/apps/frappe/frappe/modules/", line 91, in execute_patch
frappe.get_attr(patchmodule.split()[0] + ".execute")()
File "/home/frappe/bench/apps/erpnext/erpnext/patches/v12_0/", line 33, in execute
""".format(child_doctype= child_doctype))
File "/home/frappe/bench/apps/frappe/frappe/database/", line 171, in sql
File "/home/frappe/bench/env/lib/python3.6/site-packages/pymysql/", line 170, in execute
result = self._query(query)
File "/home/frappe/bench/env/lib/python3.6/site-packages/pymysql/", line 328, in _query
File "/home/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/bench/env/lib/python3.6/site-packages/pymysql/", line 732, in _read_query_result
File "/home/frappe/bench/env/lib/python3.6/site-packages/pymysql/", line 1075, in read
first_packet = self.connection._read_packet()
File "/home/frappe/bench/env/lib/python3.6/site-packages/pymysql/", line 684, in _read_packet
File "/home/frappe/bench/env/lib/python3.6/site-packages/pymysql/", line 220, in check_error
File "/home/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'")

This is either the Line#42 or not handling an empty migrated database issue. I have also forked the code and put out some notes there.

My production system is bricked since last Thursday so this is kinda important for me.


This comment has been minimized.

Copy link

commented Aug 4, 2019

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: apps/erpnext/erpnext/patches/v12_0/
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


This comment has been minimized.

Copy link

commented Aug 7, 2019

@vinhnguyent090 You have hit the nail on the head, indeed the problem is not in the patch but I think the way order in which it is run for the first time I think its running before a patch on which it depends and hence it is not creating any issue once we skip this patch and then after full migration we then re-run this patch then the patch is successful.


This comment has been minimized.


This comment has been minimized.

Copy link

commented Sep 14, 2019

Similar issue reported today. The workaround is on the discuss forum.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
6 participants
You can’t perform that action at this time.