docs
This commit is contained in:
parent
5464d24483
commit
1316c89135
3 changed files with 33 additions and 3 deletions
27
docs/cli.md
27
docs/cli.md
|
|
@ -305,6 +305,33 @@ haiku-rag init [--db /path/to/your.lancedb]
|
||||||
|
|
||||||
This creates the database with the configured settings. **All other commands require an existing database** - they will fail with an informative error if the database doesn't exist.
|
This creates the database with the configured settings. **All other commands require an existing database** - they will fail with an informative error if the database doesn't exist.
|
||||||
|
|
||||||
|
### Migrate Database
|
||||||
|
|
||||||
|
Apply pending database migrations:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
haiku-rag migrate [--db /path/to/your.lancedb]
|
||||||
|
```
|
||||||
|
|
||||||
|
When you upgrade haiku.rag to a new version that includes schema changes, the database requires migration. Opening a database with pending migrations will display an error:
|
||||||
|
|
||||||
|
```
|
||||||
|
Error: Database requires migration from 0.19.0 to 0.26.5. 3 migration(s) pending. Run 'haiku-rag migrate' to upgrade.
|
||||||
|
```
|
||||||
|
|
||||||
|
Run `haiku-rag migrate` to apply the pending migrations. The command shows which migrations were applied:
|
||||||
|
|
||||||
|
```
|
||||||
|
Applied 3 migration(s):
|
||||||
|
- 0.20.0: Add 'docling_document_json' and 'docling_version' columns
|
||||||
|
- 0.23.1: Add content_fts column for contextualized FTS search
|
||||||
|
- 0.25.0: Compress docling_document with gzip
|
||||||
|
Migration completed successfully.
|
||||||
|
```
|
||||||
|
|
||||||
|
!!! tip
|
||||||
|
Back up your database before running migrations. While migrations are designed to be safe, having a backup provides peace of mind for production databases.
|
||||||
|
|
||||||
### Info
|
### Info
|
||||||
|
|
||||||
Display database metadata:
|
Display database metadata:
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ async with HaikuRAG("path/to/database.lancedb") as client:
|
||||||
# Your code here
|
# Your code here
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# Open in read-only mode (blocks writes, skips upgrades)
|
# Open in read-only mode (blocks writes)
|
||||||
async with HaikuRAG("path/to/database.lancedb", read_only=True) as client:
|
async with HaikuRAG("path/to/database.lancedb", read_only=True) as client:
|
||||||
results = await client.search("query") # Read operations work
|
results = await client.search("query") # Read operations work
|
||||||
# await client.create_document(...) # Would raise ReadOnlyError
|
# await client.create_document(...) # Would raise ReadOnlyError
|
||||||
|
|
@ -28,7 +28,10 @@ async with HaikuRAG("path/to/database.lancedb", read_only=True) as client:
|
||||||
Databases must be explicitly created with `create=True` or via `haiku-rag init` before use. Operations on non-existent databases will raise `FileNotFoundError`.
|
Databases must be explicitly created with `create=True` or via `haiku-rag init` before use. Operations on non-existent databases will raise `FileNotFoundError`.
|
||||||
|
|
||||||
!!! note
|
!!! note
|
||||||
Read-only mode is useful for safely accessing databases without risk of modification. It blocks all write operations, skips database upgrades on open, and prevents settings from being saved.
|
Read-only mode is useful for safely accessing databases without risk of modification. It blocks all write operations and prevents settings from being saved.
|
||||||
|
|
||||||
|
!!! warning "Database Migrations"
|
||||||
|
When upgrading haiku.rag to a version with schema changes, opening an existing database will raise `MigrationRequiredError`. Run `haiku-rag migrate` to apply pending migrations before using the database. See [CLI Database Management](cli.md#migrate-database) for details.
|
||||||
|
|
||||||
## Document Management
|
## Document Management
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ from unittest.mock import AsyncMock, MagicMock, patch
|
||||||
|
|
||||||
from typer.testing import CliRunner
|
from typer.testing import CliRunner
|
||||||
|
|
||||||
from haiku.rag.cli import cli
|
from haiku.rag.cli import _cli as cli
|
||||||
|
|
||||||
runner = CliRunner()
|
runner = CliRunner()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue