I believe this is just something that was overlooked somewhere:
File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 79, in <module>
main()
File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 16, in main
click.Group(commands=commands)(prog_name='bench')
File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 716, in __call__
return self.main(*args, **kwargs)
File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/__init__.py", line 24, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py", line 120, in reinstall
_new_site(frappe.conf.db_name, site, verbose=context.verbose, force=True, reinstall=True, install_apps=installed)
File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py", line 60, in _new_site
_install_app(app, verbose=verbose, set_as_patched=not source_sql)
File "/home/frappe/frappe-bench/apps/frappe/frappe/installer.py", line 141, in install_app
frappe.get_attr(after_install)()
File "/home/frappe/frappe-bench/apps/erpnext_demo/erpnext_demo/utils.py", line 32, in make_demo
erpnext_demo.make_demo.make()
File "/home/frappe/frappe-bench/apps/erpnext_demo/erpnext_demo/make_demo.py", line 18, in make
setup()
File "/home/frappe/frappe-bench/apps/erpnext_demo/erpnext_demo/make_demo.py", line 26, in setup
make_items()
File "/home/frappe/frappe-bench/apps/erpnext_demo/erpnext_demo/make_demo.py", line 101, in make_items
import_data("BOM", submit=True)
File "/home/frappe/frappe-bench/apps/erpnext_demo/erpnext_demo/make_demo.py", line 153, in import_data
import_doc(get_json_path(doctype), submit=submit, overwrite=overwrite)
File "/home/frappe/frappe-bench/apps/frappe/frappe/core/page/data_import_tool/data_import_tool.py", line 90, in import_doc
frappe.modules.import_file.import_file_by_path(f, data_import=True, force=True, pre_process=pre_process)
File "/home/frappe/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, pre_process=pre_process)
File "/home/frappe/frappe-bench/apps/frappe/frappe/modules/import_file.py", line 122, in import_doc
doc.insert()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 213, in insert
self.run_post_save_methods()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 666, in run_post_save_methods
self.run_method("on_submit")
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 606, in run_method
return Document.hook(fn)(self, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 771, in composer
return composed(self, method, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 754, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 600, in <lambda>
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py", line 52, in on_submit
self.manage_default_bom()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/manufacturing/doctype/bom/bom.py", line 188, in manage_default_bom
item.save(ignore_permissions = True)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 264, in save
self.run_post_save_methods()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 663, in run_post_save_methods
self.run_method("on_update")
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 606, in run_method
return Document.hook(fn)(self, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 771, in composer
return composed(self, method, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 754, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 600, in <lambda>
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/doctype/item/item.py", line 105, in on_update
self.update_variants()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/doctype/item/item.py", line 607, in update_variants
variant.save()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 261, in save
self.db_update()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/base_document.py", line 329, in db_update
self.show_unique_validation_message(e)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/base_document.py", line 326, in db_update
), d.values() + [name])
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 137, in sql
self._cursor.execute(query, values)
File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
self.errorhandler(self, exc, value)
File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
frappe.exceptions.UniqueValidationError: (u'Item', u'Wind Turbine-L', IntegrityError(1062, "Duplicate entry 'all-item-groups/products/wind-turbine' for key 'route'"))
As an aside in the erpnext web.log file I get this:
Traceback (most recent call last):
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/render.py", line 32, in render
data = render_page_by_language(path)
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/render.py", line 101, in render_page_by_language
return render_page(path)
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/render.py", line 117, in render_page
return build(path)
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/render.py", line 124, in build
return build_page(path)
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/render.py", line 137, in build_page
context = get_context(path)
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/context.py", line 19, in get_context
context = build_context(context)
File "/home/frappe/frappe-bench/apps/frappe/frappe/website/context.py", line 72, in build_context
ret = module.get_context(context)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/templates/pages/home.py", line 14, in get_context
route = frappe.db.get_value('Item', item.item_code, 'route')
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 409, in get_value
ret = self.get_values(doctype, filters, fieldname, ignore, as_dict, debug, cache=cache)
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 450, in get_values
out = self._get_values_from_table(fields, filters, doctype, as_dict, debug, order_by, update)
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 562, in _get_values_from_table
conditions, order_by), values, as_dict=as_dict, debug=debug, update=update)
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 137, in sql
self._cursor.execute(query, values)
File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
self.errorhandler(self, exc, value)
File "/home/frappe/frappe-bench/env/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
OperationalError: (1054, "Unknown column 'route' in 'field list'")
I believe this is just something that was overlooked somewhere:
As an aside in the erpnext web.log file I get this: