diff --git a/src/oira/statistics/deployment/initializer.py b/src/oira/statistics/deployment/initializer.py index b856ae2..63e4dc5 100644 --- a/src/oira/statistics/deployment/initializer.py +++ b/src/oira/statistics/deployment/initializer.py @@ -6,6 +6,7 @@ from time import sleep import logging +import os log = logging.getLogger(__name__) @@ -179,7 +180,7 @@ def set_up_database(self, country=None, engine="postgres"): "dbname": db_name, } if engine == "sqlite": - details["db"] = f"/home/oira/statistics/var/{db_name}.sqlite" + details["db"] = os.path.join(self.args.database_path, f"{db_name}.sqlite") else: details.update( { diff --git a/src/oira/statistics/deployment/scripts.py b/src/oira/statistics/deployment/scripts.py index 052769a..d97c758 100644 --- a/src/oira/statistics/deployment/scripts.py +++ b/src/oira/statistics/deployment/scripts.py @@ -6,6 +6,7 @@ import argparse import logging +import os import requests import sys @@ -82,6 +83,13 @@ def get_metabase_args(): required=True, help=("Password for connecting to the postgresql server"), ) + parser.add_argument( + "--database-path", + type=str, + required=False, + default="/home/oira/statistics", + help=("Path to the statisitics databases (sqlite)"), + ) parser.add_argument( "--database-name-statistics", type=str, @@ -210,10 +218,15 @@ def init_statistics_databases(args): database_engine = ( "postgresql" if args.database_engine == "postgres" else args.database_engine ) - database_url = ( - f"{database_engine}://{args.database_user}:{args.database_password}@" - f"{args.database_host}:{args.database_port}/{database_name}" - ) + if database_engine != "sqlite": + database_url = ( + f"{database_engine}://{args.database_user}:{args.database_password}@" + f"{args.database_host}:{args.database_port}/{database_name}" + ) + else: + db_path = os.path.join(args.database_path, f"{database_name}.sqlite") + database_url = f"{database_engine}://{db_path}" + engine = create_engine(database_url) try: model.Base.metadata.create_all(bind=engine, checkfirst=True) diff --git a/templates/init-metabase.tmpl b/templates/init-metabase.tmpl index 3c7991f..5f46754 100644 --- a/templates/init-metabase.tmpl +++ b/templates/init-metabase.tmpl @@ -14,6 +14,9 @@ ${parts.buildout['bin-directory']}/init-metabase-instance \\ {% if parts[instance].get('database-engine') %} \\ --database-engine='${parts[instance]['database-engine']}' \\ {% end %} \\ + {% if parts[instance].get('database-path') %} \\ + --database-path='${parts[instance]['database-path']}' \\ + {% end %} \\ --database-name='${parts[instance]['database-name']}' \\ --database-host='${parts[instance]['database-host']}' \\ --database-port='${parts[instance]['database-port']}' \\