mirror of
https://github.com/frappe/frappe_docker.git
synced 2024-11-10 15:20:55 +00:00
48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
|
import os, frappe, compileall, re, json
|
||
|
|
||
|
from frappe.migrate import migrate
|
||
|
from frappe.utils import get_sites
|
||
|
|
||
|
def get_config():
|
||
|
config = None
|
||
|
with open('common_site_config.json') as config_file:
|
||
|
config = json.load(config_file)
|
||
|
return config
|
||
|
|
||
|
def save_config(config):
|
||
|
with open('common_site_config.json', 'w') as f:
|
||
|
return json.dump(config, f, indent=1, sort_keys=True)
|
||
|
|
||
|
def set_maintenance_mode(enable=True):
|
||
|
conf = get_config()
|
||
|
|
||
|
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)
|