Beispiel #1
0
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()
Beispiel #2
0
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()
Beispiel #3
0
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"
Beispiel #4
0
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.*'))
Beispiel #5
0
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"
Beispiel #6
0
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.*'))
Beispiel #7
0
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())
Beispiel #8
0
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()
Beispiel #9
0
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
Beispiel #10
0
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.*'))
Beispiel #11
0
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)
Beispiel #12
0
    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)