20 lines
633 B
Python
20 lines
633 B
Python
from peewee import OperationalError
|
|
|
|
from data.database import validate_database_precondition
|
|
from util.config.validators import BaseValidator, ConfigValidationException
|
|
|
|
class DatabaseValidator(BaseValidator):
|
|
name = "database"
|
|
|
|
@classmethod
|
|
def validate(cls, validator_context):
|
|
""" Validates connecting to the database. """
|
|
config = validator_context.config
|
|
|
|
try:
|
|
validate_database_precondition(config['DB_URI'], config.get('DB_CONNECTION_ARGS', {}))
|
|
except OperationalError as ex:
|
|
if ex.args and len(ex.args) > 1:
|
|
raise ConfigValidationException(ex.args[1])
|
|
else:
|
|
raise ex
|