ahriman.core.database package

Subpackages

Submodules

ahriman.core.database.sqlite module

class SQLite(path: Path, repository_id: RepositoryId)

Bases: AuthOperations, BuildOperations, ChangesOperations, LogsOperations, PackageOperations, PatchOperations

wrapper for sqlite3 database

Examples

Database wrapper must be used together with migration and SQLite3 setup. In order to perform it there is load() class method:

>>> from ahriman.core.configuration import Configuration
>>>
>>> configuration = Configuration()
>>> database = SQLite.load(configuration)
>>> packages = database.packages_get()

default constructor

Parameters:
  • path (Path) – path to the database file

  • repository_id (RepositoryId) – repository unique identifier

static database_path(configuration: Configuration) Path

read database from configuration

Parameters:

configuration (Configuration) – configuration instance

Returns:

database path according to the configuration

Return type:

Path

init(configuration: Configuration) None

perform database migrations

Parameters:

configuration (Configuration) – configuration instance

classmethod load(configuration: Configuration) Self

construct instance from configuration

Parameters:

configuration (Configuration) – configuration instance

Returns:

fully initialized instance of the database

Return type:

Self

Module contents