API Reference
Complete API documentation for Migration Script Runner.
Overview
This section contains comprehensive API documentation for all public classes, interfaces, and types in Migration Script Runner. Each subsection provides detailed information about constructors, methods, properties, and usage examples.
All public APIs include JSDoc comments in the source code for IDE intellisense support.
Documentation Structure
Core Classes
The main classes you’ll interact with:
- MigrationScriptExecutor - Primary class for executing migrations
- Config - Configuration management
- MigrationScript - Migration script representation
Interfaces
Core interfaces for implementing database handlers and custom components:
- IDatabaseMigrationHandler - Database handler interface
- ISchemaVersion - Schema version tracking
- IDB - Database connection interface
- IMigrationInfo - Migration metadata
- IMetricsCollector - Metrics collection interface (v0.6.0+)
- And more…
Services
Internal service classes (advanced usage):
- MigrationService - Migration file discovery
- MigrationValidationService - Validation logic
- BackupService - Backup/restore operations
- RollbackService - Rollback orchestration
- And more…
Models & Enums
Model classes and enumeration types:
- BackupMode - Backup mode options
- RollbackStrategy - Rollback strategy options
- DownMethodPolicy - Down method validation policy
- ValidationIssueType - Validation issue types
TypeScript Types
Type definitions and aliases for TypeScript users
Quick Navigation
Getting Started?
- Start with MigrationScriptExecutor
- Configure with Config
- Implement IDatabaseMigrationHandler
Customizing?
- Custom loggers: ILogger
- Custom validators: IMigrationValidator
- Lifecycle hooks: IMigrationHooks
- Metrics collection: IMetricsCollector
Advanced Usage?
- Explore Services for fine-grained control
- Review Interfaces for extensibility points
API Versioning
MSR follows Semantic Versioning. This documentation reflects:
- Current Version: v0.6.0
- Breaking Changes: Documented in Migration Guides
- Deprecations: Marked with
@deprecatedin source code
Contributing
Found an error in the API documentation? Please open an issue or submit a pull request.