After changing to develop branch:
Executing erpnext.patches.v12_0.retain_permission_rules_for_video_doctype in (_04a1401eaea1b562)
/data/safeuser/frappe/apps/frappe/frappe/core/doctype/video/video.json missing
On migrate command with bench: ImportError: Module import failed for Video (erpnext.education.doctype.video.video Error: No module named 'erpnext.education.doctype.video.video')
In the stack trace, there seems to be a recent refactoring moving video doctype from education into the core, added details at the end of this issue.
Context information (for bug reports)
Working in the develop branch
On migrate, system all get broken
Existing Video content in the system
Output of bench version
5.0.0
Steps to reproduce the issue
Pull branch version-12
Add in education Module a program -> Course -> Topic -> Video
Change to the develop branch
In console send the command: bench --site migrate
In console send the command: bench serve (site is still in maintenance mode)
Stop bench
In console send the command: bench --site set-maintenance-mode off
In console send the command: bench serve (site is still failing or in maintenance mode / no errors in the console)
Observed result
The system gets into maintenance mode
Migration fails with error
Expected result
The system completes internal clean and updates
Maintenance mode goes off
No errors appear
Stacktrace / full error message
bench --site <sitename> migrate
Migrating <sitename>
Executing erpnext.patches.v12_0.update_is_cancelled_field in <sitename> (_04a1401eaea1b562)
Success: Done in 0.033s
Executing execute:frappe.delete_doc_if_exists("Report", "Loan Repayment") in <sitename> (_04a1401eaea1b562)
Success: Done in 1.298s
Executing erpnext.patches.v12_0.set_automatically_process_deferred_accounting_in_accounts_settings in <sitename> (_04a1401eaea1b562)
Success: Done in 0.152s
Executing erpnext.patches.v12_0.set_production_capacity_in_workstation in <sitename> (_04a1401eaea1b562)
Success: Done in 0.262s
Executing erpnext.patches.v12_0.set_employee_preferred_emails in <sitename> (_04a1401eaea1b562)
Success: Done in 0.05s
Executing erpnext.patches.v12_0.set_against_blanket_order_in_sales_and_purchase_order in <sitename> (_04a1401eaea1b562)
Success: Done in 0.767s
Executing erpnext.patches.v12_0.set_cost_center_in_child_table_of_expense_claim in <sitename> (_04a1401eaea1b562)
Success: Done in 0.229s
Executing erpnext.patches.v12_0.add_eway_bill_in_delivery_note in <sitename> (_04a1401eaea1b562)
Success: Done in 0.049s
Executing erpnext.patches.v12_0.set_lead_title_field in <sitename> (_04a1401eaea1b562)
Success: Done in 0.353s
Executing erpnext.patches.v12_0.set_published_in_hub_tracked_item in <sitename> (_04a1401eaea1b562)
Success: Done in 0.218s
Executing erpnext.patches.v12_0.set_job_offer_applicant_email in <sitename> (_04a1401eaea1b562)
Success: Done in 0.21s
Executing erpnext.patches.v12_0.move_bank_account_swift_number_to_bank in <sitename> (_04a1401eaea1b562)
Success: Done in 0.386s
Executing erpnext.patches.v12_0.rename_bank_reconciliation in <sitename> (_04a1401eaea1b562)
Success: Done in 0.022s
Executing erpnext.patches.v12_0.add_permission_in_lower_deduction in <sitename> (_04a1401eaea1b562)
Success: Done in 0.016s
Executing erpnext.patches.v12_0.rename_account_type_doctype in <sitename> (_04a1401eaea1b562)
Success: Done in 0.549s
Executing erpnext.patches.v12_0.update_healthcare_refactored_changes in <sitename> (_04a1401eaea1b562)
Success: Done in 2.903s
Executing erpnext.patches.v12_0.set_total_batch_quantity in <sitename> (_04a1401eaea1b562)
Success: Done in 0.261s
Executing erpnext.patches.v12_0.set_updated_purpose_in_pick_list in <sitename> (_04a1401eaea1b562)
Success: Done in 0.201s
Executing erpnext.patches.v12_0.set_default_payroll_based_on in <sitename> (_04a1401eaea1b562)
Success: Done in 0.132s
Executing erpnext.patches.v12_0.update_end_date_and_status_in_email_campaign in <sitename> (_04a1401eaea1b562)
Success: Done in 0.018s
Executing erpnext.patches.v13_0.move_tax_slabs_from_payroll_period_to_income_tax_slab #123 in <sitename> (_04a1401eaea1b562)
Success: Done in 0.668s
Executing erpnext.patches.v12_0.fix_quotation_expired_status in <sitename> (_04a1401eaea1b562)
Success: Done in 0.014s
Executing erpnext.patches.v12_0.update_appointment_reminder_scheduler_entry in <sitename> (_04a1401eaea1b562)
Success: Done in 0.021s
Executing erpnext.patches.v12_0.retain_permission_rules_for_video_doctype in <sitename> (_04a1401eaea1b562)
/data/safeuser/frappe/apps/frappe/frappe/core/doctype/video/video.json missing
Traceback (most recent call last):
File "/data/safeuser/frappe/apps/frappe/frappe/modules/utils.py", line 204, in load_doctype_module
doctype_python_modules[key] = frappe.get_module(module_name)
File "/data/safeuser/frappe/apps/frappe/frappe/__init__.py", line 827, in get_module
return importlib.import_module(modulename)
File "/data/safeuser/frappe/env/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'erpnext.education.doctype.video.video'
During handling of the above exception, another exception occurred:
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 "/data/safeuser/frappe/apps/frappe/frappe/utils/bench_helper.py", line 97, in <module>
main()
File "/data/safeuser/frappe/apps/frappe/frappe/utils/bench_helper.py", line 18, in main
click.Group(commands=commands)(prog_name='bench')
File "/data/safeuser/frappe/env/lib/python3.6/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/data/safeuser/frappe/env/lib/python3.6/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/data/safeuser/frappe/env/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/data/safeuser/frappe/env/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/data/safeuser/frappe/env/lib/python3.6/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/data/safeuser/frappe/env/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/data/safeuser/frappe/env/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/data/safeuser/frappe/apps/frappe/frappe/commands/__init__.py", line 25, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File "/data/safeuser/frappe/apps/frappe/frappe/commands/site.py", line 239, in migrate
migrate(context.verbose, rebuild_website=rebuild_website, skip_failing=skip_failing)
File "/data/safeuser/frappe/apps/frappe/frappe/migrate.py", line 48, in migrate
frappe.modules.patch_handler.run_all(skip_failing)
File "/data/safeuser/frappe/apps/frappe/frappe/modules/patch_handler.py", line 41, in run_all
run_patch(patch)
File "/data/safeuser/frappe/apps/frappe/frappe/modules/patch_handler.py", line 30, in run_patch
if not run_single(patchmodule = patch):
File "/data/safeuser/frappe/apps/frappe/frappe/modules/patch_handler.py", line 71, in run_single
return execute_patch(patchmodule, method, methodargs)
File "/data/safeuser/frappe/apps/frappe/frappe/modules/patch_handler.py", line 91, in execute_patch
frappe.get_attr(patchmodule.split()[0] + ".execute")()
File "/data/safeuser/frappe/apps/erpnext/erpnext/patches/v12_0/retain_permission_rules_for_video_doctype.py", line 21, in execute
doc.save()
File "/data/safeuser/frappe/apps/frappe/frappe/model/document.py", line 273, in save
return self._save(*args, **kwargs)
File "/data/safeuser/frappe/apps/frappe/frappe/model/document.py", line 326, in _save
self.run_post_save_methods()
File "/data/safeuser/frappe/apps/frappe/frappe/model/document.py", line 924, in run_post_save_methods
self.run_method("on_update")
File "/data/safeuser/frappe/apps/frappe/frappe/model/document.py", line 794, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File "/data/safeuser/frappe/apps/frappe/frappe/model/document.py", line 1064, in composer
return composed(self, method, *args, **kwargs)
File "/data/safeuser/frappe/apps/frappe/frappe/model/document.py", line 1047, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/data/safeuser/frappe/apps/frappe/frappe/model/document.py", line 788, in <lambda>
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "/data/safeuser/frappe/apps/frappe/frappe/core/doctype/doctype/doctype.py", line 300, in on_update
self.run_module_method("on_doctype_update")
File "/data/safeuser/frappe/apps/frappe/frappe/core/doctype/doctype/doctype.py", line 369, in run_module_method
module = load_doctype_module(self.name, self.module)
File "/data/safeuser/frappe/apps/frappe/frappe/modules/utils.py", line 206, in load_doctype_module
raise ImportError('Module import failed for {0} ({1})'.format(doctype, module_name + ' Error: ' + str(e)))
ImportError: Module import failed for Video (erpnext.education.doctype.video.video Error: No module named 'erpnext.education.doctype.video.video')
Additional information
LTS Ubuntu 18.04
erpnext 12.0.0-dev
frappe 12.5.1 NOTE: Swapping frappe into developed gets worse "frappe.exceptions.DoesNotExistError: DocType Web Page Block not found"
Performed manual install several weeks ago and was properly working before of change of branch.
21234
I find that refactoring to be probably the source of the problem.
fix: Move Video Doctype from Education module to Core (#21234)
fix: move Video Doctype from Education module to Core
Description of the issue:
After changing to develop branch: Executing erpnext.patches.v12_0.retain_permission_rules_for_video_doctype in (_04a1401eaea1b562)
/data/safeuser/frappe/apps/frappe/frappe/core/doctype/video/video.json missing
On migrate command with bench: ImportError: Module import failed for Video (erpnext.education.doctype.video.video Error: No module named 'erpnext.education.doctype.video.video')
In the stack trace, there seems to be a recent refactoring moving video doctype from education into the core, added details at the end of this issue.
Context information (for bug reports)
Working in the develop branch On migrate, system all get broken Existing Video content in the system
Output of
bench version
Steps to reproduce the issue
Observed result
The system gets into maintenance mode Migration fails with error
Expected result
The system completes internal clean and updates Maintenance mode goes off No errors appear
Stacktrace / full error message
Additional information
LTS Ubuntu 18.04 erpnext 12.0.0-dev frappe 12.5.1 NOTE: Swapping frappe into developed gets worse "frappe.exceptions.DoesNotExistError: DocType Web Page Block not found"
Performed manual install several weeks ago and was properly working before of change of branch.
21234
I find that refactoring to be probably the source of the problem. fix: Move Video Doctype from Education module to Core (#21234)