From 1beb6f802df6dc5a8d2d1c3311b0c596055b9221 Mon Sep 17 00:00:00 2001 From: Lars Kruse <devel@sumpfralle.de> Date: Tue, 23 Nov 2021 00:29:03 +0100 Subject: [PATCH] feat(database): add support for sqlite database An sqlite database is much easier to setup for simple local deployments and specifically for test automation. --- src/base/config.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/base/config.py b/src/base/config.py index 52056e65..cace94ba 100644 --- a/src/base/config.py +++ b/src/base/config.py @@ -108,15 +108,19 @@ class AuraConfig: Retrieves the database connection string. """ db_name = str(self.get("db_name")) - db_user = str(self.get("db_user")) - db_pass = str(self.get("db_pass")) - db_host = str(self.get("db_host")) db_type = str(self.get("db_type")) - db_charset = self.get("db_charset", "utf8") - if db_type == "mysql": - return "mysql://" + db_user + ":" + db_pass + "@" + db_host + "/" + db_name + "?charset=" + db_charset - elif db_type == "postgresql": - return f"postgresql+psycopg2://{db_user}:{db_pass}@{db_host}/{db_name}?client_encoding={db_charset}" + if db_type in {"mysql", "postgresql"}: + db_user = str(self.get("db_user")) + db_pass = str(self.get("db_pass")) + db_host = str(self.get("db_host")) + db_charset = self.get("db_charset", "utf8") + if db_type == "mysql": + return f"mysql://{db_user}:{db_pass}@{db_host}/{db_name}?charset={db_charset}" + else: + return f"postgresql+psycopg2://{db_user}:{db_pass}@{db_host}/{db_name}?client_encoding={db_charset}" + elif db_type == "sqlite": + # "db_name" is expected to be either a relative or an absolute path to the sqlite file + return f"sqlite:///{db_name}" else: return f"Error: invalid database type '{db_type}'" -- GitLab