ERPNext Conference 2019* ERPNext.com Blog

Bench Update on development Env

update_problem

#1

Hi,
I am trying to update my development environment as following but it is giving error when performing migration kindly help:
bench 4.1.0
erpnext 12.x.x-develop
frappe 12.0.16

Patching sites…
Migrating erpnext12
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/***/erpnext12/apps/frappe/frappe/utils/bench_helper.py”, line 97, in
main()
File “/home/***/erpnext12/apps/frappe/frappe/utils/bench_helper.py”, line 18, in main
click.Group(commands=commands)(prog_name=‘bench’)
File “/home/***/erpnext12/env/lib/python3.6/site-packages/click/core.py”, line 764, in call
return self.main(args, kwargs)
File "/home/
/erpnext12/env/lib/python3.6/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File “/home/***/erpnext12/env/lib/python3.6/site-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/***/erpnext12/env/lib/python3.6/site-packages/click/core.py”, line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/***/erpnext12/env/lib/python3.6/site-packages/click/core.py”, line 956, in invoke
return ctx.invoke(self.callback, ctx.params)
File "/home/
*/erpnext12/env/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(args, kwargs)
File "/home/
/erpnext12/env/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), args, kwargs)
File "/home/
/erpnext12/apps/frappe/frappe/commands/init.py", line 25, in _func
ret = f(frappe._dict(ctx.obj), args, kwargs)
File "/home/
/erpnext12/apps/frappe/frappe/commands/site.py", line 233, in migrate
migrate(context.verbose, rebuild_website=rebuild_website, skip_failing=skip_failing)
File “/home/***/erpnext12/apps/frappe/frappe/migrate.py”, line 40, in migrate
clear_global_cache()
File “/home/***/erpnext12/apps/frappe/frappe/cache_manager.py”, line 48, in clear_global_cache
clear_website_cache()
File “/home/***/erpnext12/apps/frappe/frappe/website/render.py”, line 295, in clear_cache
frappe.clear_cache(“Guest”)
File “/home/***/erpnext12/apps/frappe/frappe/init.py”, line 561, in clear_cache
frappe.cache_manager.clear_user_cache(user)
File “/home/***/erpnext12/apps/frappe/frappe/cache_manager.py”, line 31, in clear_user_cache
clear_notifications(user)
File “/home/***/erpnext12/apps/frappe/frappe/desk/notifications.py”, line 174, in clear_notifications
config = get_notification_config()
File “/home/***/erpnext12/apps/frappe/frappe/desk/notifications.py”, line 237, in get_notification_config
return frappe.cache().get_value(“notification_config”, _get)
File “/home/***/erpnext12/apps/frappe/frappe/utils/redis_wrapper.py”, line 79, in get_value
val = generator()
File “/home/***/erpnext12/apps/frappe/frappe/desk/notifications.py”, line 228, in _get
hooks = frappe.get_hooks()
File “/home/***/erpnext12/apps/frappe/frappe/init.py”, line 938, in get_hooks
hooks = _dict(load_app_hooks())
File “/home/***/erpnext12/apps/frappe/frappe/init.py”, line 929, in load_app_hooks
append_hook(hooks, key, getattr(app_hooks, key))
File “/home/***/erpnext12/apps/frappe/frappe/init.py”, line 959, in append_hook
append_hook(target[key], inkey, value[inkey])
File “/home/***/erpnext12/apps/frappe/frappe/init.py”, line 962, in append_hook
target.setdefault(key, [])
AttributeError: ‘list’ object has no attribute ‘setdefault’


#2

My guess is one of these is malformed say from a custom manual change?

frappe@ubuntu:~/frappe-bench$ find . -name hooks.py
./apps/erpnext/erpnext/hooks.py
./apps/frappe/frappe/hooks.py


#3

Thank you for replying. I have not changed anything in these hooks manually. It is all happening after I performed bench update. If i restore my last backup before the update everything works fine. Any idea how to fix this issue manually or is it possible that it will get fixed in the next update?


#4

Issue is fixed. There was some issue with the branches
bench 4.1.0
erpnext 12.x.x-develop
frappe 12.0.16 **seems this was causing the issue**

I ran the command bench switch-to-develop && bench update
now everything is working fine.

bench 4.1.0
erpnext 12.x.x-develop
frappe 12.x.x-develop

Regards