db_factory
Factory class for creating chat database instances.
ChatDatabaseFactory
Factory class for creating instances of chat database implementations.
This class is responsible for registering, validating, and creating
instances of supported BaseChatDatabase implementations (e.g.,
SQLiteChatDatabase).
Attributes:
| Name | Type | Description |
|---|---|---|
_registry |
Dict[str, Dict[str, BaseChatDatabase]]
|
Maps canonical database names to their classes. |
_aliases |
Dict[str, str]
|
Maps alias names to canonical database names. |
Methods:
| Name | Description |
|---|---|
register |
Register a new database and its optional aliases. |
list_available |
Return a list of all registered database names. |
create |
Instantiate a registered database by name or alias. |
Source code in src/mada/core/database/db_factory.py
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | |
__init__()
Initialize the chat database factory.
Source code in src/mada/core/database/db_factory.py
create(database_type, config)
Instantiate and return a database of the specified type.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
database_type
|
str
|
The name or alias of the database to create. |
required |
config
|
DatabaseConfig
|
Database configuration settings. The class passed in here
should match the database you're trying to create. For example,
if you want to create a SQLite database, |
required |
Returns:
| Type | Description |
|---|---|
Any
|
An instance of the requested database. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the database instantiation fails. |
Source code in src/mada/core/database/db_factory.py
list_available()
Return a list of supported database names.
Returns:
| Type | Description |
|---|---|
List[str]
|
A list of canonical names for all available databases. |
register(name, database_class, aliases=None)
Register a new database implementation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Canonical name for the database. |
required |
database_class
|
Any
|
The class or implementation to register. |
required |
aliases
|
List[str]
|
Optional alternative names for this database. |
None
|
Raises:
| Type | Description |
|---|---|
TypeError
|
If the database_class fails validation. |