Bench update failed for version 13.26

After executing bench update getting below error on prod environment

bench update

Updating DocTypes for frappe : [========================================] 100%
Updating DocTypes for erpnext : [========== ] 27%

There was an issue while migrating the DocType: Sales Order

Traceback (most recent call last):
File “/home/deploy/myfrappe/apps/frappe/frappe/database/mariadb/schema.py”, line 91, in alter
frappe.db.sql(query)
File “/home/deploy/myfrappe/apps/frappe/frappe/database/database.py”, line 156, in sql
self._cursor.execute(query)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/cursors.py”, line 148, in execute
result = self._query(query)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/cursors.py”, line 310, in _query
conn.query(q)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/connections.py”, line 548, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/connections.py”, line 775, in _read_query_result
result.read()
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/connections.py”, line 1156, in read
first_packet = self.connection._read_packet()
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/connections.py”, line 725, in _read_packet
packet.raise_for_error()
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/protocol.py”, line 221, in raise_for_error
err.raise_mysql_exception(self._data)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/err.py”, line 143, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.OperationalError: (1067, “Invalid default value for ‘delivery_date’”)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/lib/python3.9/runpy.py”, line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File “/usr/lib/python3.9/runpy.py”, line 87, in _run_code
exec(code, run_globals)
File “/home/deploy/myfrappe/apps/frappe/frappe/utils/bench_helper.py”, line 104, in
main()
File “/home/deploy/myfrappe/apps/frappe/frappe/utils/bench_helper.py”, line 19, in main
click.Group(commands=commands)(prog_name=‘bench’)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/core.py”, line 829, in call
return self.main(*args, **kwargs)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/core.py”, line 782, in main
rv = self.invoke(ctx)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/core.py”, line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/core.py”, line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/core.py”, line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/core.py”, line 610, in invoke
return callback(*args, **kwargs)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/decorators.py”, line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File “/home/deploy/myfrappe/apps/frappe/frappe/commands/init.py”, line 27, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File “/home/deploy/myfrappe/apps/frappe/frappe/commands/site.py”, line 309, in migrate
migrate(
File “/home/deploy/myfrappe/apps/frappe/frappe/migrate.py”, line 72, in migrate
frappe.model.sync.sync_all(verbose=verbose)
File “/home/deploy/myfrappe/apps/frappe/frappe/model/sync.py”, line 19, in sync_all
sync_for(app, force, verbose=verbose, reset_permissions=reset_permissions)
File “/home/deploy/myfrappe/apps/frappe/frappe/model/sync.py”, line 70, in sync_for
import_file_by_path(doc_path, force=force, ignore_version=True, reset_permissions=reset_permissions)
File “/home/deploy/myfrappe/apps/frappe/frappe/modules/import_file.py”, line 130, in import_file_by_path
import_doc(
File “/home/deploy/myfrappe/apps/frappe/frappe/modules/import_file.py”, line 257, in import_doc
doc.insert()
File “/home/deploy/myfrappe/apps/frappe/frappe/model/document.py”, line 270, in insert
self.run_post_save_methods()
File “/home/deploy/myfrappe/apps/frappe/frappe/model/document.py”, line 1008, in run_post_save_methods
self.run_method(“on_update”)
File “/home/deploy/myfrappe/apps/frappe/frappe/model/document.py”, line 873, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/deploy/myfrappe/apps/frappe/frappe/model/document.py”, line 1165, in composer
return composed(self, method, *args, **kwargs)
File “/home/deploy/myfrappe/apps/frappe/frappe/model/document.py”, line 1148, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/deploy/myfrappe/apps/frappe/frappe/model/document.py”, line 870, in fn
return method_object(*args, **kwargs)
File “/home/deploy/myfrappe/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 302, in on_update
raise e
File “/home/deploy/myfrappe/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 299, in on_update
frappe.db.updatedb(self.name, Meta(self))
File “/home/deploy/myfrappe/apps/frappe/frappe/database/mariadb/database.py”, line 309, in updatedb
db_table.sync()
File “/home/deploy/myfrappe/apps/frappe/frappe/database/schema.py”, line 41, in sync
self.alter()
File “/home/deploy/myfrappe/apps/frappe/frappe/database/mariadb/schema.py”, line 102, in alter
frappe.throw(str(e.args[1]))
File “/home/deploy/myfrappe/apps/frappe/frappe/init.py”, line 444, in throw
msgprint(msg, raise_exception=exc, title=title, indicator=‘red’, is_minimizable=is_minimizable, wide=wide, as_list=as_list)
File “/home/deploy/myfrappe/apps/frappe/frappe/init.py”, line 423, in msgprint
_raise_exception()
File “/home/deploy/myfrappe/apps/frappe/frappe/init.py”, line 378, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.ValidationError: Invalid default value for ‘delivery_date’

after this error site is down, I was updating erpnext from 13.23 to 13.26

Have you set Default Delivery Date Sales Order using customize?

No customization on delivery date

bench --site your_site console
frappe.reload_doc('selling', 'doctype', 'sales order')
frappe.db.commit()

then run

bench --site your_site migrate

after executing

frappe.reload_doc(‘selling’, ‘doctype’, ‘sales order’)

get below error
ValidationError: Invalid default value for ‘delivery_date’

bench --force reload-doc selling doctype sales_order

Still getting same error

There was an issue while migrating the DocType: Sales Order

Traceback (most recent call last):
File “/home/deploy/myfrappe/apps/frappe/frappe/database/mariadb/schema.py”, line 91, in alter
frappe.db.sql(query)
File “/home/deploy/myfrappe/apps/frappe/frappe/database/database.py”, line 156, in sql
self._cursor.execute(query)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/cursors.py”, line 148, in execute
result = self._query(query)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/cursors.py”, line 310, in _query
conn.query(q)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/connections.py”, line 548, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/connections.py”, line 775, in _read_query_result
result.read()
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/connections.py”, line 1156, in read
first_packet = self.connection._read_packet()
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/connections.py”, line 725, in _read_packet
packet.raise_for_error()
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/protocol.py”, line 221, in raise_for_error
err.raise_mysql_exception(self._data)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/pymysql/err.py”, line 143, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.OperationalError: (1067, “Invalid default value for ‘delivery_date’”)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/lib/python3.9/runpy.py”, line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File “/usr/lib/python3.9/runpy.py”, line 87, in _run_code
exec(code, run_globals)
File “/home/deploy/myfrappe/apps/frappe/frappe/utils/bench_helper.py”, line 104, in
main()
File “/home/deploy/myfrappe/apps/frappe/frappe/utils/bench_helper.py”, line 19, in main
click.Group(commands=commands)(prog_name=‘bench’)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/core.py”, line 829, in call
return self.main(*args, **kwargs)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/core.py”, line 782, in main
rv = self.invoke(ctx)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/core.py”, line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/core.py”, line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/core.py”, line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/core.py”, line 610, in invoke
return callback(*args, **kwargs)
File “/home/deploy/myfrappe/env/lib/python3.9/site-packages/click/decorators.py”, line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File “/home/deploy/myfrappe/apps/frappe/frappe/commands/init.py”, line 27, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File “/home/deploy/myfrappe/apps/frappe/frappe/commands/site.py”, line 362, in reload_doc
frappe.reload_doc(module, doctype, docname, force=context.force)
File “/home/deploy/myfrappe/apps/frappe/frappe/init.py”, line 963, in reload_doc
return frappe.modules.reload_doc(module, dt, dn, force=force, reset_permissions=reset_permissions)
File “/home/deploy/myfrappe/apps/frappe/frappe/modules/utils.py”, line 175, in reload_doc
return import_files(module, dt, dn, force=force, reset_permissions=reset_permissions)
File “/home/deploy/myfrappe/apps/frappe/frappe/modules/import_file.py”, line 48, in import_files
return import_file(module, dt, dn, force=force, pre_process=pre_process,
File “/home/deploy/myfrappe/apps/frappe/frappe/modules/import_file.py”, line 54, in import_file
ret = import_file_by_path(path, force, pre_process=pre_process, reset_permissions=reset_permissions)
File “/home/deploy/myfrappe/apps/frappe/frappe/modules/import_file.py”, line 130, in import_file_by_path
import_doc(
File “/home/deploy/myfrappe/apps/frappe/frappe/modules/import_file.py”, line 257, in import_doc
doc.insert()
File “/home/deploy/myfrappe/apps/frappe/frappe/model/document.py”, line 270, in insert
self.run_post_save_methods()
File “/home/deploy/myfrappe/apps/frappe/frappe/model/document.py”, line 1008, in run_post_save_methods
self.run_method(“on_update”)
File “/home/deploy/myfrappe/apps/frappe/frappe/model/document.py”, line 873, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/deploy/myfrappe/apps/frappe/frappe/model/document.py”, line 1165, in composer
return composed(self, method, *args, **kwargs)
File “/home/deploy/myfrappe/apps/frappe/frappe/model/document.py”, line 1148, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/deploy/myfrappe/apps/frappe/frappe/model/document.py”, line 870, in fn
return method_object(*args, **kwargs)
File “/home/deploy/myfrappe/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 302, in on_update
raise e
File “/home/deploy/myfrappe/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 299, in on_update
frappe.db.updatedb(self.name, Meta(self))
File “/home/deploy/myfrappe/apps/frappe/frappe/database/mariadb/database.py”, line 309, in updatedb
db_table.sync()
File “/home/deploy/myfrappe/apps/frappe/frappe/database/schema.py”, line 41, in sync
self.alter()
File “/home/deploy/myfrappe/apps/frappe/frappe/database/mariadb/schema.py”, line 102, in alter
frappe.throw(str(e.args[1]))
File “/home/deploy/myfrappe/apps/frappe/frappe/init.py”, line 444, in throw
msgprint(msg, raise_exception=exc, title=title, indicator=‘red’, is_minimizable=is_minimizable, wide=wide, as_list=as_list)
File “/home/deploy/myfrappe/apps/frappe/frappe/init.py”, line 423, in msgprint
_raise_exception()
File “/home/deploy/myfrappe/apps/frappe/frappe/init.py”, line 378, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.ValidationError: Invalid default value for ‘delivery_date’

solved the problem from mysql as dropped and regenerate the table and it worked