def METHOD_NAME(patchmodule: str, method=None, methodargs=None):
	"""execute the patch"""
	_patch_mode(True)
	if patchmodule.startswith("execute:"):
		has_patch_file = False
		patch = patchmodule.split("execute:")[1]
		docstring = ""
	else:
		has_patch_file = True
		patch = f"{patchmodule.split(maxsplit=1)[0]}.execute"
		_patch = frappe.get_attr(patch)
		docstring = _patch.__doc__ or ""
		if docstring:
			docstring = "\n" + indent(dedent(docstring), "\t")
	print(
		f"Executing {patchmodule or methodargs} in {frappe.local.site} ({frappe.db.cur_db_name}){docstring}"
	)
	start_time = time.monotonic()
	frappe.db.begin()
	frappe.db.auto_commit_on_many_writes = 0
	try:
		if patchmodule:
			if patchmodule.startswith("finally:"):
				# run run patch at the end
				frappe.flags.final_patches.append(patchmodule)
			else:
				if has_patch_file:
					_patch()
				else:
					exec(patch, globals())
				update_patch_log(patchmodule)
		elif method:
			method(**methodargs)
	except Exception:
		frappe.db.rollback()
		raise
	else:
		frappe.db.commit()
		end_time = time.monotonic()
		_patch_mode(False)
		print(f"Success: Done in {round(end_time - start_time, 3)}s")
	return True