Skip to main content

Module adapters

Module adapters 

Source
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:

  1. DatabaseAdapter: Connection management and factory for other adapters
  2. SchemaInspector: Read-only schema introspection
  3. 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§

MigrationResult
Result of a migration execution

Traits§

DatabaseAdapter
Main database adapter trait
LockGuard
Lock guard for tenant schema locks
MigrationRunner
Migration runner trait for executing schema changes
SchemaInspector
Schema inspector trait for read-only schema introspection