I just updated the code to 7.1
Well, this is new to me. Anyway, what’s odd about this issue is that, when the patch runs the second time, it goes through. I’ve had the same issue several times on multiple sites.
Executing frappe.patches.v7_1.sync_language_doctype in erpnext.dev (68aa9e2822a6f0cb)
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/vjfalk/frappe-subcription/apps/frappe/frappe/utils/bench_helper.py", line 79, in <module>
main()
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/utils/bench_helper.py", line 16, in main
click.Group(commands=commands)(prog_name='bench')
File "/home/vjfalk/frappe-subcription/env/local/lib/python2.7/site-packages/click/core.py", line 716, in __call__
return self.main(*args, **kwargs)
File "/home/vjfalk/frappe-subcription/env/local/lib/python2.7/site-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/home/vjfalk/frappe-subcription/env/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/vjfalk/frappe-subcription/env/local/lib/python2.7/site-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/vjfalk/frappe-subcription/env/local/lib/python2.7/site-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/vjfalk/frappe-subcription/env/local/lib/python2.7/site-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/home/vjfalk/frappe-subcription/env/local/lib/python2.7/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/commands/__init__.py", line 24, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/commands/site.py", line 209, in migrate
migrate(context.verbose, rebuild_website=rebuild_website)
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/migrate.py", line 30, in migrate
frappe.modules.patch_handler.run_all()
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/modules/patch_handler.py", line 29, in run_all
if not run_single(patchmodule = patch):
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/modules/patch_handler.py", line 63, in run_single
return execute_patch(patchmodule, method, methodargs)
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/modules/patch_handler.py", line 83, in execute_patch
frappe.get_attr(patchmodule.split()[0] + ".execute")()
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/patches/v7_1/sync_language_doctype.py", line 5, in execute
frappe.reload_doc('core', 'doctype', 'language')
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/__init__.py", line 645, in reload_doc
return frappe.modules.reload_doc(module, dt, dn, force=force)
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/modules/utils.py", line 141, in reload_doc
return import_files(module, dt, dn, force=force)
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/modules/import_file.py", line 17, in import_files
return import_file(module, dt, dn, force=force, pre_process=pre_process)
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/modules/import_file.py", line 22, in import_file
ret = import_file_by_path(path, force, pre_process=pre_process)
File "/home/vjfalk/frappe-subcription/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/vjfalk/frappe-subcription/apps/frappe/frappe/modules/import_file.py", line 122, in import_doc
doc.insert()
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/model/document.py", line 222, in insert
self.run_post_save_methods()
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/model/document.py", line 771, in run_post_save_methods
self.run_method("on_update")
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/model/document.py", line 654, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/model/document.py", line 882, in composer
return composed(self, method, *args, **kwargs)
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/model/document.py", line 865, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/model/document.py", line 648, in <lambda>
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/core/doctype/doctype/doctype.py", line 142, in on_update
updatedb(self.name, self)
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/model/db_schema.py", line 69, in updatedb
tab.sync()
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/model/db_schema.py", line 146, in sync
self.create()
File "/home/vjfalk/frappe-subcription/apps/frappe/frappe/model/db_schema.py", line 181, in create
engine=self.meta.engine or 'InnoDB') % (self.name, add_text))
AttributeError: 'DocType' object has no attribute 'engine'