harp_apps.storage.settings.database

Inheritance diagram of harp_apps.storage.settings.database

class DatabaseSettings[source]

Bases: Configurable

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'url': FieldInfo(annotation=MultiHostUrl, required=False, default=MultiHostUrl('sqlite+aiosqlite:///:memory:?cache=shared'), metadata=[UrlConstraints(max_length=None, allowed_schemes=['mysql', 'mysql+aiomysql', 'mysql+asyncmy', 'postgresql', 'postgresql+asyncpg', 'sqlite', 'sqlite+aiosqlite'], host_required=True, default_host=None, default_port=None, default_path=None), BeforeValidator(func=<function _unwrap_sqlalchemy_urls>, json_schema_input_type=PydanticUndefined), AfterValidator(func=<function _fix_unasync_dsns>)])}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

url: Annotated[MultiHostUrl, UrlConstraints(max_length=None, allowed_schemes=['mysql', 'mysql+aiomysql', 'mysql+asyncmy', 'postgresql', 'postgresql+asyncpg', 'sqlite', 'sqlite+aiosqlite'], host_required=True, default_host=None, default_port=None, default_path=None), BeforeValidator(func=_unwrap_sqlalchemy_urls, json_schema_input_type=PydanticUndefined), AfterValidator(func=_fix_unasync_dsns)]