diff --git a/frappe/patches/v8_0/newsletter_childtable_migrate.py b/frappe/patches/v8_0/newsletter_childtable_migrate.py index 3a79da6bd2..50e382081a 100644 --- a/frappe/patches/v8_0/newsletter_childtable_migrate.py +++ b/frappe/patches/v8_0/newsletter_childtable_migrate.py @@ -8,13 +8,17 @@ def execute(): frappe.reload_doc('email', 'doctype', 'newsletter_email_group') frappe.reload_doctype('Newsletter') - newsletters = frappe.get_all("Newsletter", fields=["name", "email_group"]) + if "email_group" not in frappe.db.get_table_columns("Newsletter"): + return + + newsletters = frappe.get_all("Newsletter", fields=["name", "email_group"]) for newsletter in newsletters: if newsletter.email_group: newsletter_doc = frappe.get_doc("Newsletter", newsletter.name) - newsletter_doc.append("email_group", { - "email_group": newsletter.email_group, - }) - newsletter_doc.flags.ignore_validate = True - newsletter_doc.flags.ignore_mandatory = True - newsletter_doc.save() + if not newsletter_doc.get("email_group"): + newsletter_doc.append("email_group", { + "email_group": newsletter.email_group, + }) + newsletter_doc.flags.ignore_validate = True + newsletter_doc.flags.ignore_mandatory = True + newsletter_doc.save()