import frappe def execute(): #handle type casting for is_cancelled field module_doctypes = ( ('stock', 'Stock Ledger Entry'), ('stock', 'Serial No'), ('accounts', 'GL Entry') ) for module, doctype in module_doctypes: if (not frappe.db.has_column(doctype, "is_cancelled") or frappe.db.get_column_type(doctype, "is_cancelled").lower() == "int(1)" ): continue frappe.db.sql(""" UPDATE `tab{doctype}` SET is_cancelled = 0 where is_cancelled in ('', NULL, 'No')""" .format(doctype=doctype)) frappe.db.sql(""" UPDATE `tab{doctype}` SET is_cancelled = 1 where is_cancelled = 'Yes'""" .format(doctype=doctype)) frappe.reload_doc(module, "doctype", frappe.scrub(doctype))