old_contents: import frappe
  from frappe.model.utils.rename_field import rename_field
  
  def execute():
  	#Rename Grading Structure to Grading Scale
  	frappe.rename_doc("DocType", "Grading Structure", "Grading Scale", force=True)
  	frappe.rename_doc("DocType", "Grade Interval", "Grading Scale Interval", force=True)
  
  	frappe.reload_doc("schools", "doctype", "grading_scale_interval")
  	if "to_score" in frappe.db.get_table_columns("Grading Scale Interval"):
  		rename_field("Grading Scale Interval", "to_score", "threshold")
  
  	frappe.rename_doc("DocType", "Assessment", "Assessment Plan", force=True)
  
  	#Rename Assessment Results
  	frappe.reload_doc("schools", "doctype", "assessment_plan")
  	if "grading_structure" in frappe.db.get_table_columns("Assessment Plan"):
  		rename_field("Assessment Plan", "grading_structure", "grading_scale")
  
  	frappe.reload_doc("schools", "doctype", "assessment_result")
  	frappe.reload_doc("schools", "doctype", "assessment_result_detail")
  	frappe.reload_doc("schools", "doctype", "assessment_criteria")
  
  
  	for assessment in frappe.get_all("Assessment Plan", fields=["name", "grading_scale"], filters = [["docstatus", "!=", 2 ]]):
  		print assessment
  		for stud_result in frappe.db.sql("select * from `tabAssessment Result` where parent= %s", assessment.name, as_dict=True):
  			if stud_result.result:
  				assessment_result = frappe.new_doc("Assessment Result")
  				assessment_result.student = stud_result.student
  				assessment_result.student_name = stud_result.student_name
  				assessment_result.assessment_plan = assessment.name
  				assessment_result.grading_scale = assessment.grading_scale
  				assessment_result.total_score = stud_result.result
  				assessment_result.flags.ignore_validate = True
  				assessment_result.flags.ignore_mandatory = True
  				assessment_result.save()
  	
  	frappe.db.sql("""delete from `tabAssessment Result` where parent != '' or parent is not null""")
new_contents: import frappe
  from frappe.model.utils.rename_field import rename_field
  
  def execute():
  	#Rename Grading Structure to Grading Scale
  	if not frappe.db.exists("DocType", "Grading Scale"):
  		frappe.rename_doc("DocType", "Grading Structure", "Grading Scale", force=True)
  	if not frappe.db.exists("DocType", "Grading Scale Interval"):
  		frappe.rename_doc("DocType", "Grade Interval", "Grading Scale Interval", force=True)
  
  	frappe.reload_doc("schools", "doctype", "grading_scale_interval")
  	if "to_score" in frappe.db.get_table_columns("Grading Scale Interval"):
  		rename_field("Grading Scale Interval", "to_score", "threshold")
  
  	if not frappe.db.exists("DocType", "Assessment Plan"):
  		frappe.rename_doc("DocType", "Assessment", "Assessment Plan", force=True)
  
  	#Rename Assessment Results
  	frappe.reload_doc("schools", "doctype", "assessment_plan")
  	if "grading_structure" in frappe.db.get_table_columns("Assessment Plan"):
  		rename_field("Assessment Plan", "grading_structure", "grading_scale")
  
  	frappe.reload_doc("schools", "doctype", "assessment_result")
  	frappe.reload_doc("schools", "doctype", "assessment_result_detail")
  	frappe.reload_doc("schools", "doctype", "assessment_criteria")
  
  
  	for assessment in frappe.get_all("Assessment Plan", 
  			fields=["name", "grading_scale"], filters = [["docstatus", "!=", 2 ]]):
  		for stud_result in frappe.db.sql("select * from `tabAssessment Result` where parent= %s", 
  				assessment.name, as_dict=True):
  			if stud_result.result:
  				assessment_result = frappe.new_doc("Assessment Result")
  				assessment_result.student = stud_result.student
  				assessment_result.student_name = stud_result.student_name
  				assessment_result.assessment_plan = assessment.name
  				assessment_result.grading_scale = assessment.grading_scale
  				assessment_result.total_score = stud_result.result
  				assessment_result.flags.ignore_validate = True
  				assessment_result.flags.ignore_mandatory = True
  				assessment_result.save()
  	
  	frappe.db.sql("""delete from `tabAssessment Result` where parent != '' or parent is not null""")
subject: Check if doctype exists before renaming