V5 Upgrade instructions

If the switch-to-develop fails and you want to retry, run bench retry-upgrade

~/frappe-bench$ bench retry-upgrade
From GitHub - frappe/erpnext: Free and Open Source Enterprise Resource Planning (ERP)

  • branch develop → FETCH_HEAD
    Already up-to-date.
    remote: Counting objects: 5, done.
    remote: Compressing objects: 100% (5/5), done.
    remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
    Unpacking objects: 100% (5/5), done.
    From GitHub - frappe/frappe: Low code web framework for real world applications, in Python and Javascript
  • branch develop → FETCH_HEAD
    a0b27ae…063cd4b develop → upstream/develop
    Updating a0b27ae…063cd4b
    Fast-forward
    frappe/model/document.py | 5 ++±-
    1 file changed, 3 insertions(+), 2 deletions(-)
    Migrating site1.local
    Executing erpnext.patches.v5_0.taxes_and_totals_in_party_currency 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
    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/erpnext/erpnext/patches/v5_0/taxes_and_totals_in_party_currency.py”, line 14, in execute
    update_values(dt, “Sales Taxes and Charges”)
    File “/home/ubuntu/frappe-bench/apps/erpnext/erpnext/patches/v5_0/taxes_and_totals_in_party_currency.py”, line 26, in update_values
    make_property_setter(dt, field, “precision”, net_total_precision, “Select”)
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/custom/doctype/property_setter/property_setter.py”, line 70, in make_property_setter
    property_setter.insert()
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 194, in insert
    self.run_post_save_methods()
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 561, in run_post_save_methods
    self.run_method(“on_update”)
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 509, in run_method
    return Document.hook(fn)(self, *args, **kwargs)
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 622, in composer
    return composed(self, method, *args, **kwargs)
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 605, in runner
    add_to_return_value(self, fn(self, *args, **kwargs))
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/model/document.py”, line 503, in
    fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/custom/doctype/property_setter/property_setter.py”, line 55, in on_update
    validate_fields_for_doctype(self.doc_type)
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 204, in validate_fields_for_doctype
    validate_fields(frappe.get_meta(doctype))
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 316, in validate_fields
    check_link_table_options(d)
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 244, in check_link_table_options
    frappe.throw(
    (“Options must be a valid DocType for field {0} in row {1}”).format(d.label, d.idx))
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 250, in throw
    msgprint(msg, raise_exception=exc)
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 243, in msgprint
    _raise_exception()
    File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 228, in _raise_exception
    raise raise_exception, encode(msg)
    frappe.exceptions.ValidationError: Options must be a valid DocType for field Taxes and Charges in row 34
    Traceback (most recent call last):
    File “/usr/local/bin/bench”, line 9, in
    load_entry_point(‘bench==0.1’, ‘console_scripts’, ‘bench’)()
    File “/home/ubuntu/bench-repo/bench/cli.py”, line 55, in cli
    bench()
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 664, in call
    return self.main(*args, **kwargs)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 644, in main
    rv = self.invoke(ctx)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 991, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 837, in invoke
    return ctx.invoke(self.callback, **ctx.params)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 464, in invoke
    return callback(*args, **kwargs)
    File “/home/ubuntu/bench-repo/bench/cli.py”, line 263, in retry_upgrade
    patch_sites()
    File “/home/ubuntu/bench-repo/bench/utils.py”, line 118, in patch_sites
    run_frappe_cmd(‘–site’, ‘all’, ‘migrate’, bench=bench)
    File “/home/ubuntu/bench-repo/bench/utils.py”, line 427, in run_frappe_cmd
    subprocess.check_call((f, ‘-m’, ‘frappe.utils.bench_helper’, ‘frappe’) + args, cwd=sites_dir)
    File “/usr/lib/python2.7/subprocess.py”, line 540, in check_call
    raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command ‘(’/home/ubuntu/frappe-bench/env/bin/python’, ‘-m’, ‘frappe.utils.bench_helper’, ‘frappe’, ‘–site’, ‘all’, ‘migrate’)’ returned non-zero exit status 1

Please what to do…

I’m getting a very similar error too:

promantest@promantest-erpn:~/frappe-bench$ bench retry-upgrade
From GitHub - frappe/erpnext: Free and Open Source Enterprise Resource Planning (ERP)

  • branch develop → FETCH_HEAD
    Already up-to-date.
    From GitHub - frappe/frappe: Low code web framework for real world applications, in Python and Javascript
  • branch develop → FETCH_HEAD
    Already up-to-date.
    Migrating promantest.local
    Executing erpnext.patches.v5_0.rename_table_fieldnames in promantest.local (promantest.local)
    /home/promantest/frappe-bench/apps/erpnext/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.json missing
    /home/promantest/frappe-bench/apps/erpnext/erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.json missing
    /home/promantest/frappe-bench/apps/frappe/frappe/core/doctype/payment_tool/payment_tool.json missing
    rename_field: taxes not found in Sales Taxes and Charges Master
    rename_field: territories not found in Sales Taxes and Charges Master
    rename_field: taxes not found in Purchase Taxes and Charges Master
    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/promantest/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 77, in
    main()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 14, in main
    click.Group(commands=commands)(prog_name=‘bench’)
    File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 664, in call
    return self.main(*args, **kwargs)
    File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 644, in main
    rv = self.invoke(ctx)
    File “/home/promantest/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/promantest/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/promantest/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/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 464, in invoke
    return callback(*args, **kwargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/commands.py”, line 28, in func
    ret = f(frappe.dict(ctx.obj), *args, **kwargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/commands.py”, line 205, in migrate
    frappe.modules.patch_handler.run_all()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 25, in run_all
    if not run_single(patchmodule = patch):
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 52, in run_single
    return execute_patch(patchmodule, method, methodargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 68, in execute_patch
    frappe.get_attr(patchmodule.split()[0] + “.execute”)()
    File “/home/promantest/frappe-bench/apps/erpnext/erpnext/patches/v5_0/rename_table_fieldnames.py”, line 235, in execute
    rename_field(dt, field[0], field[1])
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/init.py”, line 79, in rename_field
    meta = frappe.get_meta(doctype, cached=False)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 506, in get_meta
    return frappe.model.meta.get_meta(doctype, cached=cached)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/meta.py”, line 20, in get_meta
    return Meta(doctype)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/meta.py”, line 49, in init
    super(Meta, self).init(“DocType”, doctype)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/document.py”, line 76, in init
    self.load_from_db()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/meta.py”, line 54, in load_from_db
    super(Meta, self).load_from_db()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/document.py”, line 106, in load_from_db
    frappe.throw(
    (“{0} {1} not found”).format(
    (self.doctype), self.name), frappe.DoesNotExistError)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 250, in throw
    msgprint(msg, raise_exception=exc)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 243, in msgprint
    _raise_exception()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 228, in _raise_exception
    raise raise_exception, encode(msg)
    frappe.exceptions.DoesNotExistError: DocType Payment Tool not found
    Traceback (most recent call last):
    File “/usr/local/bin/bench”, line 9, in
    load_entry_point(‘bench==0.1’, ‘console_scripts’, ‘bench’)()
    File “/home/promantest/bench-repo/bench/cli.py”, line 55, in cli
    bench()
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 664, in call
    return self.main(*args, **kwargs)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 644, in main
    rv = self.invoke(ctx)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 991, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 837, in invoke
    return ctx.invoke(self.callback, **ctx.params)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 464, in invoke
    return callback(*args, **kwargs)
    File “/home/promantest/bench-repo/bench/cli.py”, line 263, in retry_upgrade
    patch_sites()
    File “/home/promantest/bench-repo/bench/utils.py”, line 118, in patch_sites
    run_frappe_cmd(‘–site’, ‘all’, ‘migrate’, bench=bench)
    File “/home/promantest/bench-repo/bench/utils.py”, line 427, in run_frappe_cmd
    subprocess.check_call((f, ‘-m’, ‘frappe.utils.bench_helper’, ‘frappe’) + args, cwd=sites_dir)
    File “/usr/lib/python2.7/subprocess.py”, line 540, in check_call
    raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command ‘(’/home/promantest/frappe-bench/env/bin/python’, ‘-m’, ‘frappe.utils.bench_helper’, ‘frappe’, ‘–site’, ‘all’, ‘migrate’)’ returned non-zero exit status 1
    promantest@promantest-erpn:~/frappe-bench$ bench retry-upgrade
    From GitHub - frappe/erpnext: Free and Open Source Enterprise Resource Planning (ERP)
  • branch develop → FETCH_HEAD
    Already up-to-date.
    From GitHub - frappe/frappe: Low code web framework for real world applications, in Python and Javascript
  • branch develop → FETCH_HEAD
    Already up-to-date.
    Migrating promantest.local
    Executing erpnext.patches.v5_0.rename_table_fieldnames in promantest.local (promantest.local)
    /home/promantest/frappe-bench/apps/erpnext/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.json missing
    /home/promantest/frappe-bench/apps/erpnext/erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.json missing
    /home/promantest/frappe-bench/apps/frappe/frappe/core/doctype/payment_tool/payment_tool.json missing
    rename_field: taxes not found in Sales Taxes and Charges Master
    rename_field: territories not found in Sales Taxes and Charges Master
    rename_field: taxes not found in Purchase Taxes and Charges Master
    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/promantest/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 77, in
    main()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 14, in main
    click.Group(commands=commands)(prog_name=‘bench’)
    File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 664, in call
    return self.main(*args, **kwargs)
    File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 644, in main
    rv = self.invoke(ctx)
    File “/home/promantest/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/promantest/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/promantest/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/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 464, in invoke
    return callback(*args, **kwargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/commands.py”, line 28, in func
    ret = f(frappe.dict(ctx.obj), *args, **kwargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/commands.py”, line 205, in migrate
    frappe.modules.patch_handler.run_all()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 25, in run_all
    if not run_single(patchmodule = patch):
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 52, in run_single
    return execute_patch(patchmodule, method, methodargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 68, in execute_patch
    frappe.get_attr(patchmodule.split()[0] + “.execute”)()
    File “/home/promantest/frappe-bench/apps/erpnext/erpnext/patches/v5_0/rename_table_fieldnames.py”, line 235, in execute
    rename_field(dt, field[0], field[1])
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/init.py”, line 79, in rename_field
    meta = frappe.get_meta(doctype, cached=False)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 506, in get_meta
    return frappe.model.meta.get_meta(doctype, cached=cached)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/meta.py”, line 20, in get_meta
    return Meta(doctype)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/meta.py”, line 49, in init
    super(Meta, self).init(“DocType”, doctype)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/document.py”, line 76, in init
    self.load_from_db()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/meta.py”, line 54, in load_from_db
    super(Meta, self).load_from_db()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/document.py”, line 106, in load_from_db
    frappe.throw(
    (“{0} {1} not found”).format(
    (self.doctype), self.name), frappe.DoesNotExistError)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 250, in throw
    msgprint(msg, raise_exception=exc)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 243, in msgprint
    _raise_exception()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 228, in _raise_exception
    raise raise_exception, encode(msg)
    frappe.exceptions.DoesNotExistError: DocType Payment Tool not found
    Traceback (most recent call last):
    File “/usr/local/bin/bench”, line 9, in
    load_entry_point(‘bench==0.1’, ‘console_scripts’, ‘bench’)()
    File “/home/promantest/bench-repo/bench/cli.py”, line 55, in cli
    bench()
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 664, in call
    return self.main(*args, **kwargs)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 644, in main
    rv = self.invoke(ctx)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 991, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 837, in invoke
    return ctx.invoke(self.callback, **ctx.params)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 464, in invoke
    return callback(*args, **kwargs)
    File “/home/promantest/bench-repo/bench/cli.py”, line 263, in retry_upgrade
    patch_sites()
    File “/home/promantest/bench-repo/bench/utils.py”, line 118, in patch_sites
    run_frappe_cmd(‘–site’, ‘all’, ‘migrate’, bench=bench)
    File “/home/promantest/bench-repo/bench/utils.py”, line 427, in run_frappe_cmd
    subprocess.check_call((f, ‘-m’, ‘frappe.utils.bench_helper’, ‘frappe’) + args, cwd=sites_dir)
    File “/usr/lib/python2.7/subprocess.py”, line 540, in check_call
    raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command ‘(’/home/promantest/frappe-bench/env/bin/python’, ‘-m’, ‘frappe.utils.bench_helper’, ‘frappe’, ‘–site’, ‘all’, ‘migrate’)’ returned non-zero exit status 1

And when I hit bench start, this is what I get:

promantest@promantest-erpn:~/frappe-bench$ bench start
21:05:06 system | web.1 started (pid=6118)
21:05:06 system | worker.1 started (pid=6120)
21:05:06 system | workerbeat.1 started (pid=6124)
21:05:06 web.1 | Traceback (most recent call last):
21:05:06 web.1 | File “./env/bin/frappe”, line 5, in
21:05:06 web.1 | from pkg_resources import load_entry_point
21:05:06 web.1 | File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/pkg_resources.py”, line 2829, in
21:05:06 web.1 | working_set = WorkingSet._build_master()
21:05:06 web.1 | File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/pkg_resources.py”, line 451, in _build_master
21:05:06 web.1 | return cls._build_from_requirements(requires)
21:05:06 web.1 | File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/pkg_resources.py”, line 464, in _build_from_requirements
21:05:06 web.1 | dists = ws.resolve(reqs, Environment())
21:05:06 web.1 | File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/pkg_resources.py”, line 639, in resolve
21:05:06 web.1 | raise DistributionNotFound(req)
21:05:06 web.1 | pkg_resources.DistributionNotFound: frappe==4.1.0
21:05:06 system | web.1 stopped (rc=1)
21:05:06 system | sending SIGTERM to worker.1 (pid 6120)
21:05:06 system | sending SIGTERM to workerbeat.1 (pid 6124)
21:05:07 system | worker.1 stopped (rc=-15)
21:05:07 system | workerbeat.1 stopped (rc=-15)

Any update how to resolve this upgrade issue?

This patch was fixed sometime back

bench retry-upgrade

This issue still persists and my implementation is stuck between versions 4 & 5 for the last two weeks.

Here’s the traceback. Please let me know if you can help me resolve this quickly or should I reimage my system do fresh install on v5 and recreate the data on version 5. The fresh install route is obviously longer but if I have to do it, I will.

But hopefully you awesome guys will help me resolve this. Also posting this as a fresh thread hoping that me & Jonathan will get this issue resolved quicker.

promantest@promantest-erpn:~/frappe-bench$ bench retry-upgrade
From GitHub - frappe/erpnext: Free and Open Source Enterprise Resource Planning (ERP)

  • branch develop → FETCH_HEAD
    Already up-to-date.
    From GitHub - frappe/frappe: Low code web framework for real world applications, in Python and Javascript
  • branch develop → FETCH_HEAD
    Already up-to-date.
    Migrating promantest.local
    Executing erpnext.patches.v5_0.rename_table_fieldnames in promantest.local (promantest.local)
    /home/promantest/frappe-bench/apps/erpnext/erpnext/accounts/doctype/sales_taxes_and_charges_master/sales_taxes_and_charges_master.json missing
    /home/promantest/frappe-bench/apps/erpnext/erpnext/accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.json missing
    /home/promantest/frappe-bench/apps/frappe/frappe/core/doctype/payment_tool/payment_tool.json missing
    rename_field: taxes not found in Sales Taxes and Charges Master
    rename_field: territories not found in Sales Taxes and Charges Master
    rename_field: taxes not found in Purchase Taxes and Charges Master
    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/promantest/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 77, in
    main()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 14, in main
    click.Group(commands=commands)(prog_name=‘bench’)
    File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 664, in call
    return self.main(*args, **kwargs)
    File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 644, in main
    rv = self.invoke(ctx)
    File “/home/promantest/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/promantest/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/promantest/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/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 464, in invoke
    return callback(*args, **kwargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/commands.py”, line 28, in func
    ret = f(frappe.dict(ctx.obj), *args, **kwargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/commands.py”, line 205, in migrate
    frappe.modules.patch_handler.run_all()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 25, in run_all
    if not run_single(patchmodule = patch):
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 52, in run_single
    return execute_patch(patchmodule, method, methodargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 68, in execute_patch
    frappe.get_attr(patchmodule.split()[0] + “.execute”)()
    File “/home/promantest/frappe-bench/apps/erpnext/erpnext/patches/v5_0/rename_table_fieldnames.py”, line 235, in execute
    rename_field(dt, field[0], field[1])
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/init.py”, line 79, in rename_field
    meta = frappe.get_meta(doctype, cached=False)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 506, in get_meta
    return frappe.model.meta.get_meta(doctype, cached=cached)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/meta.py”, line 20, in get_meta
    return Meta(doctype)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/meta.py”, line 49, in init
    super(Meta, self).init(“DocType”, doctype)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/document.py”, line 76, in init
    self.load_from_db()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/meta.py”, line 54, in load_from_db
    super(Meta, self).load_from_db()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/document.py”, line 106, in load_from_db
    frappe.throw(
    (“{0} {1} not found”).format(
    (self.doctype), self.name), frappe.DoesNotExistError)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 250, in throw
    msgprint(msg, raise_exception=exc)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 243, in msgprint
    _raise_exception()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 228, in _raise_exception
    raise raise_exception, encode(msg)
    frappe.exceptions.DoesNotExistError: DocType Payment Tool not found
    Traceback (most recent call last):
    File “/usr/local/bin/bench”, line 9, in
    load_entry_point(‘bench==0.1’, ‘console_scripts’, ‘bench’)()
    File “/home/promantest/bench-repo/bench/cli.py”, line 55, in cli
    bench()
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 664, in call
    return self.main(*args, **kwargs)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 644, in main
    rv = self.invoke(ctx)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 991, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 837, in invoke
    return ctx.invoke(self.callback, **ctx.params)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 464, in invoke
    return callback(*args, **kwargs)
    File “/home/promantest/bench-repo/bench/cli.py”, line 263, in retry_upgrade
    patch_sites()
    File “/home/promantest/bench-repo/bench/utils.py”, line 118, in patch_sites
    run_frappe_cmd(‘–site’, ‘all’, ‘migrate’, bench=bench)
    File “/home/promantest/bench-repo/bench/utils.py”, line 427, in run_frappe_cmd
    subprocess.check_call((f, ‘-m’, ‘frappe.utils.bench_helper’, ‘frappe’) + args, cwd=sites_dir)
    File “/usr/lib/python2.7/subprocess.py”, line 540, in check_call
    raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command ‘(’/home/promantest/frappe-bench/env/bin/python’, ‘-m’, ‘frappe.utils.bench_helper’, ‘frappe’, ‘–site’, ‘all’, ‘migrate’)’ returned non-zero exit status 1

@Jonathan_Fanny_Lie Pushed the fix, retry

nabinhait: I’m still getting the following error:

promantest@promantest-erpn:~/frappe-bench$ bench retry-upgrade
From GitHub - frappe/erpnext: Free and Open Source Enterprise Resource Planning (ERP)

  • branch develop → FETCH_HEAD
    Already up-to-date.
    From GitHub - frappe/frappe: Low code web framework for real world applications, in Python and Javascript
  • branch develop → FETCH_HEAD
    Already up-to-date.
    Migrating promantest.local
    Executing erpnext.patches.v5_0.rename_table_fieldnames in promantest.local (promantest.local)
    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/promantest/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 77, in
    main()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 14, in main
    click.Group(commands=commands)(prog_name=‘bench’)
    File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 664, in call
    return self.main(*args, **kwargs)
    File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 644, in main
    rv = self.invoke(ctx)
    File “/home/promantest/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/promantest/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/promantest/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/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 464, in invoke
    return callback(*args, **kwargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/commands.py”, line 28, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/commands.py”, line 205, in migrate
    frappe.modules.patch_handler.run_all()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 25, in run_all
    if not run_single(patchmodule = patch):
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 52, in run_single
    return execute_patch(patchmodule, method, methodargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 68, in execute_patch
    frappe.get_attr(patchmodule.split()[0] + “.execute”)()
    File “/home/promantest/frappe-bench/apps/erpnext/erpnext/patches/v5_0/rename_table_fieldnames.py”, line 230, in execute
    if frappe.db.exists(“DocType”, dn):
    UnboundLocalError: local variable ‘dn’ referenced before assignment
    Traceback (most recent call last):
    File “/usr/local/bin/bench”, line 9, in
    load_entry_point(‘bench==0.1’, ‘console_scripts’, ‘bench’)()
    File “/home/promantest/bench-repo/bench/cli.py”, line 55, in cli
    bench()
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 664, in call
    return self.main(*args, **kwargs)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 644, in main
    rv = self.invoke(ctx)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 991, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 837, in invoke
    return ctx.invoke(self.callback, **ctx.params)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 464, in invoke
    return callback(*args, **kwargs)
    File “/home/promantest/bench-repo/bench/cli.py”, line 263, in retry_upgrade
    patch_sites()
    File “/home/promantest/bench-repo/bench/utils.py”, line 118, in patch_sites
    run_frappe_cmd(‘–site’, ‘all’, ‘migrate’, bench=bench)
    File “/home/promantest/bench-repo/bench/utils.py”, line 427, in run_frappe_cmd
    subprocess.check_call((f, ‘-m’, ‘frappe.utils.bench_helper’, ‘frappe’) + args, cwd=sites_dir)
    File “/usr/lib/python2.7/subprocess.py”, line 540, in check_call
    raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command ‘(’/home/promantest/frappe-bench/env/bin/python’, ‘-m’, ‘frappe.utils.bench_helper’, ‘frappe’, ‘–site’, ‘all’, ‘migrate’)’ returned non-zero exit status 1

pushed another fix

Thanks for your help and attention on this issue.

Again significant progress, but got stuck with this error:

promantest@promantest-erpn:~/frappe-bench$ bench retry-upgrade
From GitHub - frappe/erpnext: Free and Open Source Enterprise Resource Planning (ERP)

  • branch develop → FETCH_HEAD
    Already up-to-date.
    From GitHub - frappe/frappe: Low code web framework for real world applications, in Python and Javascript
  • branch develop → FETCH_HEAD
    Already up-to-date.
    Migrating promantest.local
    Executing erpnext.patches.v5_0.update_item_description_and_image in promantest.local (promantest.local)
    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/promantest/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 77, in
    main()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 14, in main
    click.Group(commands=commands)(prog_name=‘bench’)
    File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 664, in call
    return self.main(*args, **kwargs)
    File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 644, in main
    rv = self.invoke(ctx)
    File “/home/promantest/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/promantest/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/promantest/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/promantest/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 464, in invoke
    return callback(*args, **kwargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/commands.py”, line 28, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/commands.py”, line 205, in migrate
    frappe.modules.patch_handler.run_all()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 25, in run_all
    if not run_single(patchmodule = patch):
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 52, in run_single
    return execute_patch(patchmodule, method, methodargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/patch_handler.py”, line 68, in execute_patch
    frappe.get_attr(patchmodule.split()[0] + “.execute”)()
    File “/home/promantest/frappe-bench/apps/erpnext/erpnext/patches/v5_0/update_item_description_and_image.py”, line 26, in execute
    frappe.reload_doctype(dt)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 533, in reload_doctype
    reload_doc(scrub(db.get_value(“DocType”, doctype, “module”)), “doctype”, scrub(doctype))
    File “/home/promantest/frappe-bench/apps/frappe/frappe/init.py”, line 545, in reload_doc
    return frappe.modules.reload_doc(module, dt, dn, force=force)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/init.py”, line 37, in reload_doc
    return import_files(module, dt, dn, force=force)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/import_file.py”, line 17, in import_files
    return import_file(module, dt, dn, force=force)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/import_file.py”, line 22, in import_file
    ret = import_file_by_path(path, force)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/import_file.py”, line 54, in import_file_by_path
    import_doc(doc, force=force, data_import=data_import)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/modules/import_file.py”, line 120, in import_doc
    doc.insert()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/document.py”, line 194, in insert
    self.run_post_save_methods()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/document.py”, line 559, in run_post_save_methods
    self.run_method(“on_update”)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/document.py”, line 507, in run_method
    return Document.hook(fn)(self, *args, **kwargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/document.py”, line 621, in composer
    return composed(self, method, *args, **kwargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/document.py”, line 604, in runner
    add_to_return_value(self, fn(self, *args, **kwargs))
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/document.py”, line 501, in
    fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 102, in on_update
    updatedb(self.name)
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/db_schema.py”, line 62, in updatedb
    tab.sync()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/db_schema.py”, line 88, in sync
    self.alter()
    File “/home/promantest/frappe-bench/apps/frappe/frappe/model/db_schema.py”, line 237, in alter
    frappe.db.sql(“alter table {} {}”.format(self.name, ", ".join(query)))
    File “/home/promantest/frappe-bench/apps/frappe/frappe/database.py”, line 143, in sql
    self._cursor.execute(query)
    File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/cursors.py”, line 205, in execute
    self.errorhandler(self, exc, value)
    File “/home/promantest/frappe-bench/env/local/lib/python2.7/site-packages/MySQLdb/connections.py”, line 36, in defaulterrorhandler
    raise errorclass, errorvalue
    _mysql_exceptions.OperationalError: (1060, “Duplicate column name ‘test’”)
    Traceback (most recent call last):
    File “/usr/local/bin/bench”, line 9, in
    load_entry_point(‘bench==0.1’, ‘console_scripts’, ‘bench’)()
    File “/home/promantest/bench-repo/bench/cli.py”, line 55, in cli
    bench()
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 664, in call
    return self.main(*args, **kwargs)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 644, in main
    rv = self.invoke(ctx)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 991, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 837, in invoke
    return ctx.invoke(self.callback, **ctx.params)
    File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 464, in invoke
    return callback(*args, **kwargs)
    File “/home/promantest/bench-repo/bench/cli.py”, line 263, in retry_upgrade
    patch_sites()
    File “/home/promantest/bench-repo/bench/utils.py”, line 118, in patch_sites
    run_frappe_cmd(‘–site’, ‘all’, ‘migrate’, bench=bench)
    File “/home/promantest/bench-repo/bench/utils.py”, line 427, in run_frappe_cmd
    subprocess.check_call((f, ‘-m’, ‘frappe.utils.bench_helper’, ‘frappe’) + args, cwd=sites_dir)
    File “/usr/lib/python2.7/subprocess.py”, line 540, in check_call
    raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command ‘(’/home/promantest/frappe-bench/env/bin/python’, ‘-m’, ‘frappe.utils.bench_helper’, ‘frappe’, ‘–site’, ‘all’, ‘migrate’)’ returned non-zero exit status 1

Getting this Error on migrating to v5 after pull bench using frappe_setup.sh script with production.

bench retry-upgrade
From GitHub - frappe/erpnext: Free and Open Source Enterprise Resource Planning (ERP)

Running latest for spectrumgrouperp

Updating frappe : [========================================]
Updating erpnext : [========================================]
Wrote ./assets/js/frappe-web.min.js - 90k
Wrote ./assets/js/shopping-cart-web.min.js - 1k
Wrote ./assets/js/print_format_v3.min.js - 18k
Wrote ./assets/js/erpnext.min.js - 15k
Wrote ./assets/css/frappe.css - 221k
Wrote ./assets/css/frappe-web.css - 163k
Wrote ./assets/css/shopping-cart-web.css - 0k
Wrote ./assets/js/editor.min.js - 27k
Wrote ./assets/css/erpnext.css - 0k
Wrote ./assets/js/frappe.min.js - 610k
Wrote ./assets/js/erpnext-web.min.js - 0k
Wrote ./assets/js/slickgrid.min.js - 105k
Wrote ./assets/js/canvasResize.min.js - 22k

Your bench was upgraded to version 5
Traceback (most recent call last):
File “/usr/local/bin/bench”, line 9, in
load_entry_point(‘bench==0.1’, ‘console_scripts’, ‘bench’)()
File “/home/ubuntu/bench-repo/bench/cli.py”, line 55, in cli
bench()
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 664, in call
return self.main(*args, **kwargs)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 644, in main
rv = self.invoke(ctx)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 991, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 837, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 464, in invoke
return callback(*args, **kwargs)
File “/home/ubuntu/bench-repo/bench/cli.py”, line 265, in retry_upgrade
post_upgrade(version-1, version)
File “/home/ubuntu/bench-repo/bench/utils.py”, line 455, in post_upgrade
setup_backups(bench=bench)
File “/home/ubuntu/bench-repo/bench/utils.py”, line 150, in setup_backups
backup_command = “cd {sites_dir} && {frappe} --backup all”.format(frappe=get_frappe(bench=bench),)
KeyError: ‘sites_dir’

And migrate to V5 didnt work.

I had been able to upgrade to v5 since some days ago after @pdvyas asked to run bench retry-upgrade.
It seems the upgrade scripts still having many issues…

I will give another try to upgrade from v4 to v5…