sqlite compatibility added

This commit is contained in:
zurdi zurdo
2023-03-28 10:38:07 +02:00
parent 92d31cc37b
commit 8ae0cc9e76
4 changed files with 23 additions and 12 deletions

View File

@@ -16,7 +16,6 @@ DEFAULT_PATH_COVER_L: str = f"/assets/library/resources/default/cover_l.png"
DEFAULT_URL_COVER_S: str = "https://images.igdb.com/igdb/image/upload/t_cover_small/nocover.png"
DEFAULT_PATH_COVER_S: str = f"/assets/library/resources/default/cover_s.png"
# IGDB
CLIENT_ID: str = os.getenv('CLIENT_ID')
CLIENT_SECRET: str = os.getenv('CLIENT_SECRET')
@@ -29,4 +28,15 @@ DB_PORT: int = int(os.getenv('DB_PORT'))
DB_ROOT_PASSWD: str = os.getenv('DB_ROOT_PASSWD')
DB_USER: str = os.getenv('DB_USER')
DB_PASSWD: str = os.getenv('DB_PASSWD')
DB_NAME: str = 'romm'
DB_NAME: str = 'romm'
# DB DRIVERS
SQLITE_PATH: str = f"{LIBRARY_BASE_PATH}/database"
if not os.path.exists(SQLITE_PATH): os.makedirs(SQLITE_PATH)
ROMM_DB_DRIVER: str = os.getenv('ROMM_DB_DRIVER', 'sqlite')
DB_DRIVERS: dict = {
'mariadb': f"mariadb+mariadbconnector://{DB_USER}:{DB_PASSWD}@{DB_HOST}:{DB_PORT}/{DB_NAME}",
'sqlite': f"sqlite:////{SQLITE_PATH}/romm.db"
}
RESERVED_FOLDERS: list = ['resources', 'database']

View File

@@ -2,10 +2,9 @@ from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from config.config import DB_HOST, DB_PORT, DB_USER, DB_PASSWD, DB_NAME
from config.config import ROMM_DB_DRIVER, DB_DRIVERS
BaseModel = declarative_base()
engine = create_engine(f"mariadb+mariadbconnector://{DB_USER}:{DB_PASSWD}@{DB_HOST}:{DB_PORT}/{DB_NAME}", pool_pre_ping=True)
Session = sessionmaker(bind=engine, expire_on_commit=False)
engine = create_engine(DB_DRIVERS[ROMM_DB_DRIVER], pool_pre_ping=True)
Session = sessionmaker(bind=engine, expire_on_commit=False)

View File

@@ -5,7 +5,7 @@ from pathlib import Path
import requests
from fastapi import HTTPException
from config.config import LIBRARY_BASE_PATH, DEFAULT_URL_LOGO, DEFAULT_URL_COVER_L, DEFAULT_PATH_COVER_L, DEFAULT_URL_COVER_S, DEFAULT_PATH_COVER_S
from config.config import LIBRARY_BASE_PATH, RESERVED_FOLDERS, DEFAULT_URL_LOGO, DEFAULT_URL_COVER_L, DEFAULT_PATH_COVER_L, DEFAULT_URL_COVER_S, DEFAULT_PATH_COVER_S
from logger.logger import log
@@ -73,7 +73,7 @@ def get_platforms() -> list:
"""
try:
platforms: list[str] = list(os.walk(LIBRARY_BASE_PATH))[0][1]
if 'resources' in platforms: platforms.remove('resources')
[platforms.remove(reserved) for reserved in RESERVED_FOLDERS]
log.info(f"filesystem platforms found: {platforms}")
return platforms
except IndexError:

View File

@@ -4,10 +4,11 @@ services:
image: 'zurdi15/romm:latest'
container_name: romm
environment:
- DB_HOST=romm_db
- DB_PORT=3306
- DB_USER=romm-user
- DB_PASSWD=change-me
- ROMM_DB_DRIVER="mariadb" # This variable can be set as: mariadb | sqlite. If it is not defined, sqlite will be the database by default
- DB_HOST=romm_db # Only if ROMM_DB_DRIVER='mariadb'
- DB_PORT=3306 # Only if ROMM_DB_DRIVER='mariadb'
- DB_USER=romm-user # Only if ROMM_DB_DRIVER='mariadb'
- DB_PASSWD=change-me # Only if ROMM_DB_DRIVER='mariadb'
- CLIENT_ID=<IGDB client id>
- CLIENT_SECRET=<IGDB client secret>
- STEAMGRIDDB_API_KEY=WIP
@@ -19,6 +20,7 @@ services:
- romm_db
restart: "unless-stopped"
# Only if ROMM_DB_DRIVER='mariadb'
romm_db:
image: lscr.io/linuxserver/mariadb:latest
container_name: romm_db