Classes

The TableDefinition class is responsible for defining the schema of the table used to track the execution state of each migration version.
The TableManipulator class is responsible for creating and updating the schema of the table used to track the execution state of each migration version.
The TableStatus class is responsible for checking if the tracking table needs to be created or updated.
The TableUpdater class is responsible for updating the tracking table schema if it needs to be updated.