From 38074a94198d6d18ff7834c8edfae55e8bbcdbd3 Mon Sep 17 00:00:00 2001 From: Pratik Vyas Date: Wed, 26 Nov 2014 18:18:48 +0530 Subject: [PATCH] remove frappe_subscription if doesnt exist on restore --- frappe/installer.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/frappe/installer.py b/frappe/installer.py index 33613e5ee2..2c6379a493 100755 --- a/frappe/installer.py +++ b/frappe/installer.py @@ -10,6 +10,7 @@ import os, json import frappe import frappe.database import getpass +import importlib from frappe.model.db_schema import DbManager from frappe.model.sync import sync_for from frappe.utils.fixtures import sync_fixtures @@ -33,6 +34,7 @@ def install_db(root_login="root", root_password=None, db_name=None, source_sql=N frappe.connect(db_name=db_name) import_db_from_sql(source_sql, verbose) + remove_missing_apps() create_auth_table() frappe.flags.in_install_db = False @@ -198,3 +200,14 @@ def add_module_defs(app): d.app_name = app d.module_name = module d.save() + +def remove_missing_apps(): + apps = ('frappe_subscription',) + installed_apps = frappe.get_installed_apps() + for app in apps: + if app in installed_apps: + try: + importlib.import_module(app) + except ImportError: + installed_apps.remove(app) + frappe.db.set_global("installed_apps", json.dumps(installed_apps))