Fix sqlite configuration error improperly accessing config object

Add token model import to database init
This commit is contained in:
Ethan Paul 2020-02-24 23:11:30 -05:00
parent ae86a5d21c
commit 96c595147e
1 changed files with 13 additions and 15 deletions

View File

@ -32,6 +32,7 @@ from keyosk.database.account_acl import AccountACLEntry
from keyosk.database.domain import Domain from keyosk.database.domain import Domain
from keyosk.database.domain import DomainAccessList from keyosk.database.domain import DomainAccessList
from keyosk.database.domain import DomainPermission from keyosk.database.domain import DomainPermission
from keyosk.database.token import Token
MODELS: List[Type[KeyoskBaseModel]] = [ MODELS: List[Type[KeyoskBaseModel]] = [
@ -40,6 +41,7 @@ MODELS: List[Type[KeyoskBaseModel]] = [
DomainPermission, DomainPermission,
Domain, Domain,
AccountACLEntry, AccountACLEntry,
Token,
] ]
@ -57,22 +59,16 @@ def initialize(conf: config.KeyoskConfig):
if conf.storage.backend == datatypes.StorageBackend.SQLITE: if conf.storage.backend == datatypes.StorageBackend.SQLITE:
logger.debug("Using SQLite database backend") logger.debug("Using SQLite database backend")
pragmas = { logger.debug(f"Applying SQLite pragmas: {conf.storage.sqlite.pragmas}")
**conf.storage.sqlite.pragmas, database = peewee.SqliteDatabase(
**{ conf.storage.sqlite.path, pragmas=conf.storage.sqlite.pragmas
"journal_mode": "wal", )
"cache_size": -1 * 64000,
"foreign_keys": 1,
"ignore_check_constraints": 0,
"synchronous": 0,
},
}
for key, value in pragmas:
logger.debug(f"Applying pragma '{key}' with value '{value}'")
database = peewee.SqliteDatabase(conf.storage.sqlite.path, pragmas=pragmas)
elif conf.storage.backend == datatypes.StorageBackend.MARIA: elif conf.storage.backend == datatypes.StorageBackend.MARIA:
logger.debug("Using MariaDB database backend") logger.debug("Using MariaDB database backend")
logger.debug(
f"Configuring MariaDB: {conf.storage.maria.username}@{conf.storage.maria.host}:{conf.storage.maria.port}, with database '{conf.storage.maria.schema}'"
)
database = peewee.MySQLDatabase( database = peewee.MySQLDatabase(
conf.storage.maria.schema, conf.storage.maria.schema,
host=conf.storage.maria.host, host=conf.storage.maria.host,
@ -81,8 +77,10 @@ def initialize(conf: config.KeyoskConfig):
password=conf.storage.maria.password, password=conf.storage.maria.password,
charset="utf8mb4", charset="utf8mb4",
) )
logger.debug(
f"Configuring MariaDB: {conf.storage.maria.username}@{conf.storage.maria.host}:{conf.storage.maria.port} `{conf.storage.maria.schema}`" else:
raise ValueError(
f"Invalid storage backend in configuration: {conf.storage.backend}"
) )
interface.initialize(database) interface.initialize(database)