Class MigrationRunner
Provides a complete solution for tracking, executing, and rolling back database migrations
using SQL files. It maintains migration state in a JSON file and provides batch
execution capabilities with detailed logging and error handling.
Note: This class is intentionally in the global namespace to match the CLI structure.
It uses fully qualified names for Primordyx framework classes.
Core Features:
- Sequential migration execution with automatic numbering
- Batch tracking for coordinated rollbacks
- Dry-run mode for testing migrations before execution
- Comprehensive status reporting and logging
- Integration with SqlProcessor for SQL execution
- Uses absolute migration paths from database configuration
- Transaction safety and error recovery
- JSON-based migration tracking (no database table required)
- Enhanced error recovery with user interaction
Migration File Structure:
- Uses paired files: {number}_{name}up.sql and {number}{name}_down.sql
- Supports sequential numbering (001, 002, 003, etc.)
- Tracks execution state in .primordyx/migrations.json
- Maintains execution order and batch grouping