MikroWizard.mikroman/scripts/dbmigrate.py

35 lines
904 B
Python
Raw Permalink Normal View History

#!/usr/bin/python
# -*- coding: utf-8 -*-
# dbmigrate.py: migrate the local database
# - run either on dev machine or at server
#
# Author: Tomi.Mickelsson@iki.fi & Edited by sepehr.ha@gmail.com
import os
import config
from urllib.parse import quote
if config.DATABASE_HOST.startswith("/"):
# sqlite
# note: can't use full path here!
# db will appear in "/app/data/mydb.sqlite" (mapped volume locally)
cmd = "pw_migrate migrate --directory=/app/migrations_sqlite --database=sqlite:/data/mydb.sqlite"
else:
# postgresql
cmd = "pw_migrate migrate --database='postgresql://{}:{}/{}?user={}&password={}'".format(
config.DATABASE_HOST,
config.DATABASE_PORT,
config.DATABASE_NAME,
config.DATABASE_USER,
quote(config.DATABASE_PASSWORD))
print(cmd)
ret = os.system(cmd)
if ret:
print("migrate ERROR", ret)
else:
print("migrate OK")