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

Open
toofun666 opened this issue Jul 29, 2019 · 4 comments

Comments

@toofun666
Copy link
Contributor

commented Jul 29, 2019

Environment:
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 erp.framras.com (_e43c835dee0489b9)
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/frappe/bench/apps/frappe/frappe/utils/bench_helper.py", line 97, in
main()
File "/home/frappe/bench/apps/frappe/frappe/utils/bench_helper.py", line 18, in main
click.Group(commands=commands)(prog_name='bench')
File "/home/frappe/bench/env/lib/python3.6/site-packages/click/core.py", line 764, in call
return self.main(*args, **kwargs)
File "/home/frappe/bench/env/lib/python3.6/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/frappe/bench/env/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/frappe/bench/env/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/frappe/bench/env/lib/python3.6/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/frappe/bench/env/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/frappe/bench/env/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/frappe/bench/apps/frappe/frappe/commands/init.py", line 25, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File "/home/frappe/bench/apps/frappe/frappe/commands/site.py", line 234, in migrate
migrate(context.verbose, rebuild_website=rebuild_website, skip_failing=skip_failing)
File "/home/frappe/bench/apps/frappe/frappe/migrate.py", line 48, in migrate
frappe.modules.patch_handler.run_all(skip_failing)
File "/home/frappe/bench/apps/frappe/frappe/modules/patch_handler.py", line 41, in run_all
run_patch(patch)
File "/home/frappe/bench/apps/frappe/frappe/modules/patch_handler.py", line 30, in run_patch
if not run_single(patchmodule = patch):
File "/home/frappe/bench/apps/frappe/frappe/modules/patch_handler.py", line 71, in run_single
return execute_patch(patchmodule, method, methodargs)
File "/home/frappe/bench/apps/frappe/frappe/modules/patch_handler.py", line 91, in execute_patch
frappe.get_attr(patchmodule.split()[0] + ".execute")()
File "/home/frappe/bench/apps/erpnext/erpnext/patches/v12_0/update_pricing_rule_fields.py", line 33, in execute
""".format(child_doctype= child_doctype))
File "/home/frappe/bench/apps/frappe/frappe/database/database.py", line 171, in sql
self._cursor.execute(query)
File "/home/frappe/bench/env/lib/python3.6/site-packages/pymysql/cursors.py", line 170, in execute
result = self._query(query)
File "/home/frappe/bench/env/lib/python3.6/site-packages/pymysql/cursors.py", line 328, in _query
conn.query(q)
File "/home/frappe/bench/env/lib/python3.6/site-packages/pymysql/connections.py", line 517, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/home/frappe/bench/env/lib/python3.6/site-packages/pymysql/connections.py", line 732, in _read_query_result
result.read()
File "/home/frappe/bench/env/lib/python3.6/site-packages/pymysql/connections.py", line 1075, in read
first_packet = self.connection._read_packet()
File "/home/frappe/bench/env/lib/python3.6/site-packages/pymysql/connections.py", line 684, in _read_packet
packet.check_error()
File "/home/frappe/bench/env/lib/python3.6/site-packages/pymysql/protocol.py", line 220, in check_error
err.raise_mysql_exception(self._data)
File "/home/frappe/bench/env/lib/python3.6/site-packages/pymysql/err.py", 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.

@vinhnguyent090

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/update_pricing_rule_fields.py
set
doctypes = {} or return do not run this patch

run
bench migrate

after run success restore update_pricing_rule_fields.py then run

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

@adityaduggal

This comment has been minimized.

Copy link
Contributor

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.

@clarkejj

This comment has been minimized.

@aakvatech

This comment has been minimized.

Copy link

commented Sep 14, 2019

https://discuss.erpnext.com/t/unknown-column-from-date-in-field-list-update-error-uh-oh/20713/5?u=aakvatech

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
Projects
None yet
6 participants
You can’t perform that action at this time.