Expand description
Database schema migration system.
Handles versioned schema changes, tracks migration history, and provides development-time migration management commands. Database schema migration management and versioning system.
Provides a comprehensive migration framework for evolving the database schema over time while maintaining data integrity and consistency.
§Features
- Version Tracking: Maintains precise records of applied migrations
- Automatic Application: Runs pending migrations during database initialization
- Transaction Safety: All migrations run within database transactions
- Rollback Support: Development-time rollback capabilities (debug builds only)
- History Tracking: Complete audit trail of schema changes
§Usage
use kasl::db::migrations::{init_with_migrations, get_db_version};
use rusqlite::Connection;
let mut conn = Connection::open("kasl.db")?;
init_with_migrations(&mut conn)?;
let version = get_db_version(&conn)?;Structs§
- Migration
Manager - Central migration system manager that orchestrates schema evolution.
Functions§
- get_
db_ version - Retrieves the current database schema version.
- init_
with_ migrations - Initializes a database connection with all pending migrations applied.
- needs_
migration - Checks if the database requires migration to the latest schema version.