I restored my previous database and then used bench migrate, but it fails with pymysql.err.ProgrammingError
.
Here’s the full log:
Migrating probatus
Executing erpnext.patches.v12_0.set_produced_qty_field_in_sales_order_for_work_order in probatus (_69bfcd6a9d117eae)
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/anil/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 97, in <module>
main()
File "/home/anil/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 18, in main
click.Group(commands=commands)(prog_name='bench')
File "/home/anil/frappe-bench/env/lib/python3.6/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/home/anil/frappe-bench/env/lib/python3.6/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/anil/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/anil/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/anil/frappe-bench/env/lib/python3.6/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/anil/frappe-bench/env/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/anil/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/anil/frappe-bench/apps/frappe/frappe/commands/__init__.py", line 25, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File "/home/anil/frappe-bench/apps/frappe/frappe/commands/site.py", line 233, in migrate
migrate(context.verbose, rebuild_website=rebuild_website, skip_failing=skip_failing)
File "/home/anil/frappe-bench/apps/frappe/frappe/migrate.py", line 48, in migrate
frappe.modules.patch_handler.run_all(skip_failing)
File "/home/anil/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 41, in run_all
run_patch(patch)
File "/home/anil/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 30, in run_patch
if not run_single(patchmodule = patch):
File "/home/anil/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 71, in run_single
return execute_patch(patchmodule, method, methodargs)
File "/home/anil/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 91, in execute_patch
frappe.get_attr(patchmodule.split()[0] + ".execute")()
File "/home/anil/frappe-bench/apps/erpnext/erpnext/patches/v12_0/set_produced_qty_field_in_sales_order_for_work_order.py", line 10, in execute
update_produced_qty_in_so_item(so_item.get('name'))
File "/home/anil/frappe-bench/apps/erpnext/erpnext/selling/doctype/sales_order/sales_order.py", line 1031, in update_produced_qty_in_so_item
'docstatus': 1
File "/home/anil/frappe-bench/apps/frappe/frappe/database/database.py", line 527, in get_all
return frappe.get_all(*args, **kwargs)
File "/home/anil/frappe-bench/apps/frappe/frappe/__init__.py", line 1299, in get_all
return get_list(doctype, *args, **kwargs)
File "/home/anil/frappe-bench/apps/frappe/frappe/__init__.py", line 1272, in get_list
return frappe.model.db_query.DatabaseQuery(doctype).execute(None, *args, **kwargs)
File "/home/anil/frappe-bench/apps/frappe/frappe/model/db_query.py", line 95, in execute
result = self.build_and_run()
File "/home/anil/frappe-bench/apps/frappe/frappe/model/db_query.py", line 109, in build_and_run
args = self.prepare_args()
File "/home/anil/frappe-bench/apps/frappe/frappe/model/db_query.py", line 135, in prepare_args
self.set_optional_columns()
File "/home/anil/frappe-bench/apps/frappe/frappe/model/db_query.py", line 293, in set_optional_columns
columns = frappe.db.get_table_columns(self.doctype)
File "/home/anil/frappe-bench/apps/frappe/frappe/database/database.py", line 857, in get_table_columns
raise self.TableMissingError
pymysql.err.ProgrammingError
I have already tried both the bench restore
way and the mysql < sql_file
way. I get the same error.
I can’t bench update
since it will execute bench migrate
.
raise self.TableMissingError
Seems like some table is missing?
I don’t want to lose my sales invoices and orders.