mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2025-07-08 22:26:59 +00:00
Updated both logger to use native column type
This commit is contained in:
parent
6e6cd9a7e5
commit
fc34c1fc35
@ -1801,6 +1801,7 @@ class DashboardConfig:
|
||||
"Database":{
|
||||
"type": "sqlite",
|
||||
"host": "",
|
||||
"port": "",
|
||||
"username": "",
|
||||
"password": ""
|
||||
},
|
||||
@ -1830,7 +1831,7 @@ class DashboardConfig:
|
||||
|
||||
def getConnectionString(self, database) -> str or None:
|
||||
if self.GetConfig("Database", "type")[1] == "sqlite":
|
||||
return f'sqlite:///{os.path.join(CONFIGURATION_PATH, "db", f".db")}'
|
||||
return f'sqlite:///{os.path.join(CONFIGURATION_PATH, "db", f"{database}.db")}'
|
||||
elif self.GetConfig("Database", "type")[1] == "postgresql":
|
||||
return f'postgresql+psycopg2://{self.GetConfig("Database", "username")[1]}:{self.GetConfig("Database", "password")[1]}@{self.GetConfig("Database", "host")[1]}/{database}'
|
||||
return None
|
||||
|
@ -4,16 +4,19 @@ Dashboard Logger Class
|
||||
import os, uuid
|
||||
import sqlalchemy as db
|
||||
from datetime import datetime
|
||||
from sqlalchemy_utils import database_exists, create_database
|
||||
|
||||
class DashboardLogger:
|
||||
def __init__(self, CONFIGURATION_PATH, DashboardConfig):
|
||||
self.engine = db.create_engine(DashboardConfig.getConnectionString("wgdashboard_log"))
|
||||
if not database_exists(self.engine.url):
|
||||
create_database(self.engine.url)
|
||||
self.loggerdb = self.engine.connect()
|
||||
self.metadata = db.MetaData()
|
||||
self.dashboardLoggerTable = db.Table('DashboardLog', self.metadata,
|
||||
db.Column('LogID', db.VARCHAR, nullable=False, primary_key=True),
|
||||
db.Column('LogDate', (db.DATETIME if DashboardConfig.GetConfig("Database", "type")[1] == 'sqlite' else db.TIMESTAMP),
|
||||
server_default=datetime.now().strftime("%Y-%m-%d %H:%M:%S")),
|
||||
server_default=db.func.now()),
|
||||
db.Column('URL', db.VARCHAR),
|
||||
db.Column('IP', db.VARCHAR),
|
||||
|
||||
|
@ -5,17 +5,21 @@ import os, uuid
|
||||
import sqlalchemy as db
|
||||
from .Log import Log
|
||||
from datetime import datetime
|
||||
from sqlalchemy_utils import database_exists, create_database
|
||||
|
||||
class PeerJobLogger:
|
||||
def __init__(self, CONFIGURATION_PATH, AllPeerJobs, DashboardConfig):
|
||||
self.engine = db.create_engine(DashboardConfig.getConnectionString("wgdashboard_log"))
|
||||
if not database_exists(self.engine.url):
|
||||
create_database(self.engine.url)
|
||||
|
||||
self.loggerdb = self.engine.connect()
|
||||
self.metadata = db.MetaData()
|
||||
self.jobLogTable = db.Table('JobLog', self.metadata,
|
||||
db.Column('LogID', db.String, nullable=False, primary_key=True),
|
||||
db.Column('JobID', db.String, nullable=False),
|
||||
db.Column('LogDate', (db.DATETIME if DashboardConfig.GetConfig("Database", "type")[1] == 'sqlite' else db.TIMESTAMP),
|
||||
server_default=datetime.now().strftime("%Y-%m-%d %H:%M:%S")),
|
||||
server_default=db.func.now()),
|
||||
db.Column('Status', db.String, nullable=False),
|
||||
db.Column('Message', db.String)
|
||||
)
|
||||
|
@ -9,4 +9,5 @@ gunicorn
|
||||
requests
|
||||
tcconfig
|
||||
sqlalchemy
|
||||
sqlalchemy_utils
|
||||
psycopg2
|
Loading…
x
Reference in New Issue
Block a user