|
|
|
@ -85,6 +85,17 @@ def check_database_connection():
|
|
|
|
|
sys.exit(10)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def check_migrations():
|
|
|
|
|
apps_dir = os.path.join(BASE_DIR, 'apps')
|
|
|
|
|
code = subprocess.call("python manage.py showmigrations | grep '\[.\]' | grep -v '\[X\]'", shell=True, cwd=apps_dir)
|
|
|
|
|
|
|
|
|
|
if code == 1:
|
|
|
|
|
return
|
|
|
|
|
for i in range(3):
|
|
|
|
|
print("!!! Warning: Has SQL migrations not perform, 有 SQL 变更没有执行")
|
|
|
|
|
print("You should run ./PROC upgrade first, 请先运行 ./PROC upgrade, 进行表结构变更")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def make_migrations():
|
|
|
|
|
logging.info("Check database structure change ...")
|
|
|
|
|
os.chdir(os.path.join(BASE_DIR, 'apps'))
|
|
|
|
@ -102,8 +113,7 @@ def collect_static():
|
|
|
|
|
|
|
|
|
|
def prepare():
|
|
|
|
|
check_database_connection()
|
|
|
|
|
make_migrations()
|
|
|
|
|
collect_static()
|
|
|
|
|
check_migrations()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def check_pid(pid):
|
|
|
|
@ -512,6 +522,11 @@ def show_service_status(s):
|
|
|
|
|
print("{} is stopped".format(ns))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def upgrade():
|
|
|
|
|
collect_static()
|
|
|
|
|
make_migrations()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
parser = argparse.ArgumentParser(
|
|
|
|
|
description="""
|
|
|
|
@ -524,7 +539,7 @@ if __name__ == '__main__':
|
|
|
|
|
)
|
|
|
|
|
parser.add_argument(
|
|
|
|
|
'action', type=str,
|
|
|
|
|
choices=("start", "stop", "restart", "status"),
|
|
|
|
|
choices=("start", "stop", "restart", "status", "upgrade"),
|
|
|
|
|
help="Action to run"
|
|
|
|
|
)
|
|
|
|
|
parser.add_argument(
|
|
|
|
@ -559,5 +574,7 @@ if __name__ == '__main__':
|
|
|
|
|
stop_service(srv)
|
|
|
|
|
time.sleep(5)
|
|
|
|
|
start_services_and_watch(srv)
|
|
|
|
|
elif action == "upgrade":
|
|
|
|
|
upgrade()
|
|
|
|
|
else:
|
|
|
|
|
show_service_status(srv)
|
|
|
|
|