The AbstractMigration class is for end users to extend from when creating migrations. Extend this class and implement the required up() and down() methods.
The DepenencyFactory is responsible for wiring up and managing internal class dependencies.
The EventDispatcher class is responsible for dispatching events internally that a user can listen for.
The Events class contains constants for event names that a user can subscribe to.
The FileQueryWriter class is responsible for writing migration SQL queries to a file on disk.
The MigrationPlanCalculator is responsible for calculating the plan for migrating from the current version to another version.
The MigrationRepository class is responsible for retrieving migrations, determing what the current migration version, etc.
The Migrator class is responsible for generating and executing the SQL for a migration.
The MigratorConfiguration class is responsible for defining the configuration for a migration.
The OutputWriter class is responsible for writing output to the command line when executing migrations.
The ParameterFormatter class is responsible for formatting SQL query parameters to a string for display output.
The Rollup class is responsible for deleting all previously executed migrations from the versions table and marking the freshly dumped schema migration (that was created with SchemaDumper) as migrated.
The SchemaDumper class is responsible for dumping the current state of your database schema to a migration. This is to be used in conjunction with the Rollup class.
The Stopwatch class wraps the Symfony Stopwatch class so that we do not directly depend on it.