Expand description
Developer: s4gor Github: https://github.com/s4gor
Database adapter traits
This module defines the core traits that all database implementations must provide. These traits enable:
- Multi-database support (PostgreSQL, MySQL, SQLite, etc.)
- Pluggable migration runners
- Database-agnostic schema inspection
§Design Rationale
We separate concerns into three main traits:
- DatabaseAdapter: Connection management and factory for other adapters
- SchemaInspector: Read-only schema introspection
- MigrationRunner: Write operations for applying migrations
This separation allows:
- Read-only operations (inspection, audit) without write capabilities
- Different migration strategies (SQL files, Rust code, external tools)
- Testing with mock implementations
- Composition of different adapters
Structs§
- Migration
Result - Result of a migration execution
Traits§
- Database
Adapter - Main database adapter trait
- Lock
Guard - Lock guard for tenant schema locks
- Migration
Runner - Migration runner trait for executing schema changes
- Schema
Inspector - Schema inspector trait for read-only schema introspection