No project description provided
Project description
nucliadb
This module contains most of the Python components for NucliaDB:
- ingest
- reader
- writer
- search
- train
NucliaDB Migrations
This module is used to manage NucliaDB Migrations.
All migrations will be provided in the migrations
folder and have a filename
that follows the structure: [sequence]_[migration name].py
.
Where sequence
is the order the migration should be run in with zero padding.
Example: 0001_migrate_data.py
.
Each migration should have the following:
from nucliadb.migrator.context import ExecutionContext
async def migrate(context: ExecutionContext) -> None:
"""
Non-kb type of migration. Migrate global data.
"""
async def migrate_kb(context: ExecutionContext, kbid: str) -> None:
"""
Migrate kb.
Must have both types of migrations.
"""
How migrations are managed
-
All migrations utilize a distributed lock to prevent simulateously running jobs
-
Global migration state:
- current version
- target version
- KBs to migrate
-
KB Migration State:
- current version
-
Migrations are currently run with a deployment and will be continuously retried on failure.
-
Running migrations in a deployment is to make sure a migration does not prevent code deployment.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for nucliadb-2.24.0.post693-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33e80070a334ab1bf57c92d63dd7ea5e63f25e03b34b473a7f2be9677af9ea5a |
|
MD5 | 3c4749f8d95d27bdcc196abb7f3a4e58 |
|
BLAKE2b-256 | e9b3f4c2ec7b4605f382ebb7b3bc9f95a909db4778823a0e7d4d9e862446b9f4 |