ahriman.core.database package
Subpackages
- ahriman.core.database.migrations package
- Submodules
- ahriman.core.database.migrations.m000_initial module
- ahriman.core.database.migrations.m001_package_source module
- ahriman.core.database.migrations.m002_user_access module
- ahriman.core.database.migrations.m003_patch_variables module
- ahriman.core.database.migrations.m004_logs module
- ahriman.core.database.migrations.m005_make_opt_depends module
- ahriman.core.database.migrations.m006_packages_architecture_required module
- ahriman.core.database.migrations.m007_check_depends module
- ahriman.core.database.migrations.m008_packagers module
- ahriman.core.database.migrations.m009_local_source module
- ahriman.core.database.migrations.m010_version_based_logs_removal module
- ahriman.core.database.migrations.m011_repository_name module
- ahriman.core.database.migrations.m012_last_commit_sha module
- ahriman.core.database.migrations.m013_dependencies module
- ahriman.core.database.migrations.m014_auditlog module
- ahriman.core.database.migrations.m015_logs_process_id module
- ahriman.core.database.migrations.m016_archive module
- Module contents
- ahriman.core.database.operations package
- Submodules
- ahriman.core.database.operations.auth_operations module
- ahriman.core.database.operations.build_operations module
- ahriman.core.database.operations.changes_operations module
- ahriman.core.database.operations.dependencies_operations module
- ahriman.core.database.operations.event_operations module
- ahriman.core.database.operations.logs_operations module
- ahriman.core.database.operations.operations module
- ahriman.core.database.operations.package_operations module
- ahriman.core.database.operations.patch_operations module
- Module contents
Submodules
ahriman.core.database.sqlite module
- class SQLite(path: Path, configuration: Configuration)
Bases:
AuthOperations,BuildOperations,ChangesOperations,DependenciesOperations,EventOperations,LogsOperations,PackageOperations,PatchOperationswrapper 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()
- Parameters:
path (Path) – path to the database file
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
- 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() None
perform database migrations
- package_clear(package_base: str, repository_id: RepositoryId | None = None) None
completely remove package from all tables
- Parameters:
package_base (str) – package base to remove
repository_id (RepositoryId, optional) – repository unique identifier override (Default value = None)
Examples
This method completely removes the package from all tables and must be used, e.g. on package removal:
>>> database.package_clear("ahriman")