Error updating erp from 9 to last version

I’m trying to update erpnext v9 to the last version (with develop branch), i’m doing bench update from the frappe-bench folder. The procedure stops with this error, can anyone help me?

Executing erpnext.patches.v9_0.fix_subscription_next_date #2017-10-23 in next.ricomprostaging.it (1bd3e0294da19198)
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, 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/erpnext/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 97, in <module>
    main()
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 18, in main
    click.Group(commands=commands)(prog_name='bench')
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/commands/__init__.py", line 25, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/commands/site.py", line 223, in migrate
    migrate(context.verbose, rebuild_website=rebuild_website)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/migrate.py", line 39, in migrate
    frappe.modules.patch_handler.run_all()
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 29, in run_all
    if not run_single(patchmodule = patch):
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 63, in run_single
    return execute_patch(patchmodule, method, methodargs)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/modules/patch_handler.py", line 83, in execute_patch
    frappe.get_attr(patchmodule.split()[0] + ".execute")()
  File "/home/erpnext/frappe-bench/apps/erpnext/erpnext/patches/v9_0/fix_subscription_next_date.py", line 21, in execute
    filters = {'reference_doctype': ('in', doctypes), 'docstatus': 1}):
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/__init__.py", line 1262, in get_all
    return get_list(doctype, *args, **kwargs)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/__init__.py", line 1235, in get_list
    return frappe.model.db_query.DatabaseQuery(doctype).execute(None, *args, **kwargs)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/model/db_query.py", line 87, in execute
    result = self.build_and_run()
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/model/db_query.py", line 99, in build_and_run
    args = self.prepare_args()
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/model/db_query.py", line 119, in prepare_args
    self.build_conditions()
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/model/db_query.py", line 288, in build_conditions
    self.build_filter_conditions(self.filters, self.conditions)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/model/db_query.py", line 309, in build_filter_conditions
    conditions.append(self.prepare_filter_condition(f))
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/model/db_query.py", line 317, in prepare_filter_condition
    f = get_filter(self.doctype, f)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/utils/data.py", line 852, in get_filter
    if frappe.get_meta(df.options).has_field(f.fieldname):
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/__init__.py", line 734, in get_meta
    return frappe.model.meta.get_meta(doctype, cached=cached)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/model/meta.py", line 37, in get_meta
    meta = Meta(doctype)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/model/meta.py", line 84, in __init__
    super(Meta, self).__init__("DocType", doctype)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/model/document.py", line 103, in __init__
    self.load_from_db()
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/model/meta.py", line 89, in load_from_db
    super(Meta, self).load_from_db()
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/model/document.py", line 140, in load_from_db
    frappe.throw(_("{0} {1} not found").format(_(self.doctype), self.name), frappe.DoesNotExistError)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/__init__.py", line 339, in throw
    msgprint(msg, raise_exception=exc, title=title, indicator='red')
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/__init__.py", line 325, in msgprint
    _raise_exception()
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/__init__.py", line 298, in _raise_exception
    raise raise_exception(msg)
frappe.exceptions.DoesNotExistError: DocType Subscription Plan Detail not found

cd ~/frappe-bench
bench reload-doctype “Subscription Plan Detail”

i have this error executing that command

/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.23) or chardet (3.0.4) doesn't match a supported version!
  RequestsDependencyWarning)
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, 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/erpnext/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 97, in <module>
    main()
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 18, in main
    click.Group(commands=commands)(prog_name='bench')
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/erpnext/frappe-bench/env/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/commands/__init__.py", line 25, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/commands/site.py", line 268, in reload_doctype
    frappe.reload_doctype(doctype, force=context.force)
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/__init__.py", line 761, in reload_doctype
    reload_doc(scrub(db.get_value("DocType", doctype, "module")), "doctype", scrub(doctype),
  File "/home/erpnext/frappe-bench/apps/frappe/frappe/__init__.py", line 787, in scrub
    return txt.replace(' ','_').replace('-', '_').lower()
AttributeError: 'NoneType' object has no attribute 'replace'

The Subscription Plan may not be present, even though you have added the Subscription Plan Detail, so you might need to add

cd ~/frappe-bench
bench reload-doctype “Subscription Plan”

but I am not 100% sure.
When upgrading across versions, you should also do a bench migrate or bench update --patch

doing bench reload-doctype “Subscription Plan” i have the same error.

The bench migrate and / or bench update --patch should be done before starting the update or i can do it also now that i have the error?

You should be able to run that at any time - error or not - just make sure you have backups before you do anything

I tried it but without success, i have the exact same problem, i tried to switch to do bench switch-to-master, but this moved to master only frappe application, then i manually moved to master also the erpnext application, and then did bench migrate and bench update.
In this way the update has completed succefully, but i have the v10, not v11 or v12.

v10 is the latest stable release. v11 is staging, and v12 is develop

1 Like