Add a new dialog to get database settings. Fixes: #5

Added a new dialog for database settings.
Updated dbConfig to use QSettings.
This commit is contained in:
Christopher T. Johnson
2025-02-25 09:56:53 -05:00
parent 9a60a5adb5
commit d46281fda7
5 changed files with 507 additions and 17 deletions

View File

@@ -1,6 +1,6 @@
from datetime import date, datetime
from decimal import Decimal
from datetime import date
from PySide6.QtCore import QSettings
from pony.orm import ( # type: ignore[import-untyped]
Database,
LongStr,
@@ -11,11 +11,8 @@ from pony.orm import ( # type: ignore[import-untyped]
set_sql_debug,
)
db = Database
db = Database()
class Cases(db.Entity): # type: ignore[name-defined]
case_id = PrimaryKey(int, auto=True)
docket_id = Required(str)
@@ -50,13 +47,18 @@ class History(db.Entity): # type: ignore[name-defined]
number = Required(int)
set_sql_debug(True)
db.bind(
provider="mysql",
user="scotus",
host="ceph5",
database="scotus",
password="lechOtvirf8Om/",
)
db.generate_mapping(create_tables=True)
db.disconnect()
def updateDatabase(settings: QSettings) -> None:
set_sql_debug(True)
engine = settings.value('engine')
if engine not in ['QMYSQL', 'MARIADB']:
raise Exception(f"Unknown database engine: {engine}")
db.bind(
provider="mysql",
user=settings.value('user'),
host=settings.value('hostname'),
database=settings.value('databasename'),
password=settings.value('password'),
)
db.generate_mapping(create_tables=True)
db.disconnect()
return