Bench migrate giving errors

Hi,

After fresh install of V5, I restored the sql backup file from V4.
When I ran the “bench migrate” getting the following errors:

 bench migrate
Migrating site1.local
Executing frappe.patches.v5_0.convert_to_barracuda_and_utf8mb4 in site1.local (1bd3e0294d)
Success
Executing execute:frappe.reload_doc('core', 'doctype', 'docfield', force=True) #2015-05-15 in site1.local (1bd3e0294d)
Success
Executing execute:frappe.reload_doc('email', 'doctype', 'email_alert') #2014-07-15 in site1.local (1bd3e0294d)
Success
Executing execute:frappe.reload_doc('desk', 'doctype', 'todo') #2014-12-31-1 in site1.local (1bd3e0294d)
Success
Executing execute:frappe.reload_doc('custom', 'doctype', 'property_setter') #2014-12-31-1 in site1.local (1bd3e0294d)
Success
Executing frappe.patches.v5_0.v4_to_v5 in site1.local (1bd3e0294d)
Success
Executing frappe.patches.v5_0.remove_shopping_cart_app in site1.local (1bd3e0294d)
Success
Executing execute:frappe.permissions.reset_perms("Module Def") in site1.local (1bd3e0294d)
Success
Executing execute:frappe.permissions.reset_perms("User") #2015-03-24 in site1.local (1bd3e0294d)
Success
Executing execute:frappe.reload_doc('website', 'doctype', 'web_form') #2014-09-04 in site1.local (1bd3e0294d)
Success
Executing execute:frappe.reload_doc('website', 'doctype', 'web_form_field') #2014-09-04 in site1.local (1bd3e0294d)
Success
Executing frappe.patches.v4_2.refactor_website_routing in site1.local (1bd3e0294d)
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 77, in <module>
    main()
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 14, in main
    click.Group(commands=commands)(prog_name='bench')
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 664, in __call__
    return self.main(*args, **kwargs)
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 644, in main
    rv = self.invoke(ctx)
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 991, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 991, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 837, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 464, in invoke
    return callback(*args, **kwargs)
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/commands.py", line 28, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/commands.py", line 205, in migrate
    frappe.modules.patch_handler.run_all()
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 25, in run_all
    if not run_single(patchmodule = patch):
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 52, in run_single
    return execute_patch(patchmodule, method, methodargs)
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 68, in execute_patch
    frappe.get_attr(patchmodule.split()[0] + ".execute")()
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/patches/v4_2/refactor_website_routing.py", line 7, in execute
    frappe.delete_doc("Page", "sitemap-browser", force=1)
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/__init__.py", line 534, in delete_doc
    ignore_permissions, flags)
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/model/delete_doc.py", line 76, in delete_doc
    delete_linked_communications(doc)
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/model/delete_doc.py", line 187, in delete_linked_communications
    where reference_doctype=%s and reference_name=%s""", (doc.doctype, doc.name)))
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/database.py", line 192, in sql_list
    return [r[0] for r in self.sql(query, values, debug=debug)]
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/database.py", line 135, in sql
    self._cursor.execute(query, values)
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
    self.errorhandler(self, exc, value)
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1054, "Unknown column 'reference_doctype' in 'where clause'")

Please help me resolve this issue.

Can you add

frappe.reload_doctype("Communication")

in the execute function in the patch file?

Hi Mehta,

Thanks for the fix.
Added frappe.reload_doctype(“Communication”) in the patch file - /home/ubuntu/frappe-bench/apps/frappe/frappe/patches/v4_2/refactor_website_routing.py

And ran bench migrate. Got the following trace. Please help.

bench migrate
Migrating site1.local
Executing frappe.patches.v4_2.refactor_website_routing in site1.local (1bd3e0294d)
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 77, in <module>
    main()
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 14, in main
    click.Group(commands=commands)(prog_name='bench')
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 664, in __call__
    return self.main(*args, **kwargs)
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 644, in main
    rv = self.invoke(ctx)
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 991, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 991, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 837, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 464, in invoke
    return callback(*args, **kwargs)
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/commands.py", line 28, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/commands.py", line 205, in migrate
    frappe.modules.patch_handler.run_all()
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 25, in run_all
    if not run_single(patchmodule = patch):
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 52, in run_single
    return execute_patch(patchmodule, method, methodargs)
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 68, in execute_patch
    frappe.get_attr(patchmodule.split()[0] + ".execute")()
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/patches/v4_2/refactor_website_routing.py", line 8, in execute
    frappe.delete_doc("Page", "sitemap-browser", force=1)
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/__init__.py", line 534, in delete_doc
    ignore_permissions, flags)
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/model/delete_doc.py", line 77, in delete_doc
    delete_shared(doc)
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/model/delete_doc.py", line 206, in delete_shared
    where share_doctype=%s and share_name=%s""", (doc.doctype, doc.name)), ignore_on_trash=True)
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/database.py", line 192, in sql_list
    return [r[0] for r in self.sql(query, values, debug=debug)]
  File "/home/ubuntu/frappe-bench/apps/frappe/frappe/database.py", line 135, in sql
    self._cursor.execute(query, values)
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
    self.errorhandler(self, exc, value)
  File "/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1146, "Table '1bd3e0294d.tabDocShare' doesn't exist")

Not sure why this is breaking. Try adding

frappe.reload_doc("core", "doctype", "docshare")