def migrate(context, rebuild_website=False): "Run patches, sync schema and rebuild files/translations" from frappe.migrate import migrate for site in context.sites: print 'Migrating', site frappe.init(site=site) frappe.connect() try: migrate(context.verbose, rebuild_website=rebuild_website) finally: frappe.destroy()
def migrate(context, rebuild_website=False): "Run patches, sync schema and rebuild files/translations" from frappe.migrate import migrate for site in context.sites: print 'Migrating', site frappe.init(site=site) frappe.connect() try: migrate(context.verbose, rebuild_website=rebuild_website) finally: frappe.destroy()
def restore(context, name): site = get_site(context) frappe.init(site=site) frappe.connect() SnapshotGenerator(name).restore() from frappe.migrate import migrate try: migrate(context.verbose) finally: frappe.destroy() print "Restored"
def migrate(context, rebuild_website=False): "Run patches, sync schema and rebuild files/translations" from frappe.migrate import migrate for site in context.sites: print('Migrating', site) frappe.init(site=site) frappe.connect() try: migrate(context.verbose, rebuild_website=rebuild_website) finally: frappe.destroy() compileall.compile_dir('../apps', quiet=1, rx=re.compile('.*node_modules.*'))
def restore_from_file(context, filename): if not os.path.exists(filename): raise IOError('"{}" does not exists'.format(filename)) site = get_site(context) frappe.init(site=site) frappe.connect() do_restore_from_file(filename) from frappe.migrate import migrate try: migrate(context.verbose) finally: frappe.destroy() print "Restored"
def migrate(context, rebuild_website=False): "Run patches, sync schema and rebuild files/translations" from frappe.migrate import migrate for site in context.sites: print('Migrating', site) frappe.init(site=site) frappe.connect() try: migrate(context.verbose, rebuild_website=rebuild_website) finally: frappe.destroy() compileall.compile_dir('../apps', quiet=1, rx=re.compile('.*node_modules.*'))
def start_migration(): migration_status = frappe.cache().get(migration_status_key) if migration_status == migration_status_migrating: # already running return frappe.cache().set(migration_status_key, migration_status_migrating) try: from frappe.migrate import migrate migrate(verbose=False) frappe.cache().set(migration_status_key, migration_status_done) except Exception as e: frappe.cache().set(migration_status_key, migration_status_error) frappe.cache().set(migration_error_key, "error: " + frappe.get_traceback())
def update(context): app = __name__.split('.')[0] app_dir = os.path.join('.', '../apps', app) if os.path.exists(os.path.join(app_dir, '.git')): print "Pulling app..." s = subprocess.Popen(['git', 'pull'], cwd=app_dir, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) out = s.stdout.read() s.stdout.close() print out site = get_site(context) frappe.init(site=site) frappe.connect() migrate() frappe.destroy()
def migrate(context, skip_failing=False, skip_search_index=False): "Run patches, sync schema and rebuild files/translations" import re from frappe.migrate import migrate for site in context.sites: print('Migrating', site) frappe.init(site=site) frappe.connect() try: migrate(context.verbose, skip_failing=skip_failing, skip_search_index=skip_search_index) finally: frappe.destroy() if not context.sites: raise SiteNotSpecifiedError
def migrate(context, rebuild_website=False, skip_failing=False): "Run patches, sync schema and rebuild files/translations" from frappe.migrate import migrate for site in context.sites: print('Migrating', site) frappe.init(site=site) frappe.connect() try: migrate(context.verbose, rebuild_website=rebuild_website, skip_failing=skip_failing) finally: frappe.destroy() if not context.sites: raise SiteNotSpecifiedError print("Compiling Python Files...") compileall.compile_dir('../apps', quiet=1, rx=re.compile('.*node_modules.*'))
def migrate_sites(maintenance_mode=False): installed_sites = ":".join(get_sites()) sites = os.environ.get("SITES", installed_sites).split(":") if not maintenance_mode: maintenance_mode = cint(os.environ.get("MAINTENANCE_MODE")) if maintenance_mode: set_maintenance_mode(True) for site in sites: print('Migrating', site) frappe.init(site=site) frappe.connect() try: migrate() finally: frappe.destroy() # Disable maintenance mode after migration set_maintenance_mode(False)
if enable: conf.update({ "maintenance_mode": 1, "pause_scheduler": 1 }) save_config(conf) if not enable: conf.update({ "maintenance_mode": 0, "pause_scheduler": 0 }) save_config(conf) installed_sites = ":".join(get_sites()) sites = os.environ.get("SITES", installed_sites).split(":") maintenance_mode = True if os.environ.get("MAINTENANCE_MODE") else False if maintenance_mode: set_maintenance_mode(True) for site in sites: print('Migrating', site) frappe.init(site=site) frappe.connect() try: migrate() finally: frappe.destroy() if maintenance_mode: set_maintenance_mode(False) exit(0)