Primordyx Framework Documentation

MigrationRunner.php

File: /vendor/vernsix/primordyx/CLI/Migration/MigrationRunner.php

Tags
author

Vern Six vernsix@gmail.com

copyright

Copyright (c) 2025

license

MIT License

since
1.0.0
version
1.0.0
link

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

Table of Contents

Classes

MigrationRunner

        
On this page

Search results