1234567891011121314151617181920212223242526272829303132333435 |
- import json
- from peewee import *
- from peewee_migrate import Router
- from playhouse.db_url import connect
- from config import SRC_LOG_LEVELS, DATA_DIR, DATABASE_URL
- import os
- import logging
- log = logging.getLogger(__name__)
- log.setLevel(SRC_LOG_LEVELS["DB"])
- class JSONField(TextField):
- def db_value(self, value):
- return json.dumps(value)
- def python_value(self, value):
- if value is not None:
- return json.loads(value)
- # Check if the file exists
- if os.path.exists(f"{DATA_DIR}/ollama.db"):
- # Rename the file
- os.rename(f"{DATA_DIR}/ollama.db", f"{DATA_DIR}/webui.db")
- log.info("Database migrated from Ollama-WebUI successfully.")
- else:
- pass
- DB = connect(DATABASE_URL)
- log.info(f"Connected to a {DB.__class__.__name__} database.")
- router = Router(DB, migrate_dir="apps/web/internal/migrations", logger=log)
- router.run()
- DB.connect(reuse_if_open=True)
|