feat(schema-manager): Add Schema Management module and expose it in public API; update README to mark Phase 3 complete and move priorities to Phase 4
This commit is contained in:
@@ -42,7 +42,7 @@
|
||||
- Cache hit/miss statistics
|
||||
- Example at `ts/examples/kv/kv-store-example.ts`
|
||||
|
||||
**Phase 3: Advanced Features**
|
||||
**Phase 3: Advanced Features (100%)** - Complete!
|
||||
- **Plugin Architecture (100%)** - Extensible request/response middleware:
|
||||
- Plugin lifecycle hooks (beforeRequest, afterResponse, onError)
|
||||
- Plugin priority and execution ordering
|
||||
@@ -58,6 +58,30 @@
|
||||
- Shared context between plugins
|
||||
- Timeout protection for plugin hooks
|
||||
- Example at `ts/examples/plugins/plugin-example.ts`
|
||||
- **Transaction Support (100%)** - ACID-like distributed transactions:
|
||||
- Optimistic concurrency control (seq_no/primary_term)
|
||||
- Automatic rollback with compensation operations
|
||||
- Savepoints for partial rollback
|
||||
- Conflict detection and configurable resolution (retry, abort, skip, force)
|
||||
- Multi-document atomic operations
|
||||
- Isolation levels (read_uncommitted, read_committed, repeatable_read)
|
||||
- Transaction callbacks (onBegin, onCommit, onRollback, onConflict)
|
||||
- Transaction statistics and monitoring
|
||||
- Timeout with automatic cleanup
|
||||
- Example at `ts/examples/transactions/transaction-example.ts`
|
||||
- **Schema Management (100%)** - Index mapping management and migrations:
|
||||
- Index creation with mappings, settings, and aliases
|
||||
- Schema validation before apply
|
||||
- Versioned migrations with history tracking
|
||||
- Schema diff and comparison (added/removed/modified fields)
|
||||
- Breaking change detection
|
||||
- Index templates (composable and legacy)
|
||||
- Component templates
|
||||
- Alias management with filters
|
||||
- Dynamic settings updates
|
||||
- Migration rollback support
|
||||
- Dry run mode for testing
|
||||
- Example at `ts/examples/schema/schema-example.ts`
|
||||
|
||||
### Query Builder Usage
|
||||
|
||||
@@ -81,11 +105,10 @@ const stats = await createQuery<Product>('products')
|
||||
.execute();
|
||||
```
|
||||
|
||||
### Next Priorities
|
||||
1. **Transaction Support** (Phase 3) - Distributed transactions across multiple documents
|
||||
2. **Schema Management** (Phase 3) - Index mapping management and migrations
|
||||
3. **Comprehensive Test Suite** (Phase 4) - Full test coverage
|
||||
4. **Migration Guide** (Phase 4) - Guide from v2 to v3
|
||||
### Next Priorities (Phase 4)
|
||||
1. **Comprehensive Test Suite** - Full test coverage for all modules
|
||||
2. **Migration Guide** - Guide from v2 to v3 API
|
||||
3. **README Update** - Update main README with new v3 API documentation
|
||||
|
||||
### Structure
|
||||
- Single `ts/` directory (no parallel structures)
|
||||
|
||||
Reference in New Issue
Block a user