Skip to main content

Module migrations

Module migrations 

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

MigrationManager
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.