
Migration Framework
Migration Script Runner (MSR)
A database-agnostic migration framework for TypeScript/JavaScript and CLI. MSR provides a lightweight, flexible framework for managing database migrations without locking you into a specific ORM or database system.
GitHub
External Resource
GitHub (Firebase)
External Resource
NPM (Core)
External Resource
NPM (Firebase)
External Resource
Website
External Resource
System Architecture
MSR (Migration Script Runner) is a database-agnostic migration framework designed for technical flexibility and archival integrity. It aims to bridge the gap between complex ORM-locked migrations and raw SQL scripts, providing a developer-friendly CLI and a robust TypeScript API.
Whether you are running on standard SQL databases or specialized environments like Firebase Firestore, MSR ensures your schema and data stay in sync across environments through a consistent, managed signal.
Advanced Features
A detailed breakdown of the technical protocols provided by MSR to ensure archival signal integrity across diverse database architectures.
Migration Execution
- Multi-Format Migrations (TS, JS, SQL)
- Up/Down Methods for Reversible Migrations
- Batch Execution with Progress Tracking
- Target Version Migration (Up or Down)
- Selective Execution with File Patterns
Safety & Rollback
- Dry Run Mode for Safe Testing
- Automatic Database Backups
- Multiple Rollback Strategies (BACKUP, DOWN, BOTH, NONE)
- Checksum Validation to Detect Unauthorized Changes
- Pre-Migration Validation to Catch Issues Early
Transaction Management
- Configurable Transaction Modes (PER_MIGRATION, PER_BATCH, NONE)
- Full Control Over SQL Isolation Levels
- Automatic Retry Logic with Exponential Backoff
- Smart Detection of Transient Errors (e.g., Deadlocks)
- Callback-Based Transactions for NoSQL Databases
Validation & Quality
- Built-in Validators for Structure, Syntax, and Conventions
- Custom Validators to Extend Validation Rules
- Strict Mode to Treat Warnings as Errors in CI/CD
- Duplicate Timestamp/Version Detection
- Down Method Policies to Enforce Reversibility
Monitoring & Logging
- Built-in Metrics Collectors (Console, JSON, CSV)
- Detailed JSON/Text Execution Summaries
- Multiple Logger Support (Console, File, Silent, Custom)
- Log Level Control for Verbosity
- Lifecycle Hooks for Monitoring and Extension
Configuration & Extensibility
- Environment Variable Support (MSR_*)
- .env File Support (.env, .env.production, etc.)
- Custom Database Handlers for Any Database
- Custom Loaders, Validators, Loggers, and Renderers
- CLI Factory to Create Custom Command-Line Interfaces
Build Status:
Synchronizing_Documentation...




