doctrine/migrations — pull request #143 by JeffPeters (2013-11-19 00:19:24+00:00)
Title: Allow Custom Extended Configuration and Version Classes to be used 

These commits solve two issues I am faced with:

1. There is no way use a custom or extended Configuration class with the migration commands.
- Based on the file name extension you only get the choice of:
1. XmlConfiguration
2. YamlConfiguration
3. Configuration
- (One work around is to use you own command and then use your custom configuration class)

2. There is no way to use a custom Version class
- This would allow you to use your own code to mark a migration up or down.
- However the Configuration base class is hard coded to use the Version class, and I can not overwrite because it uses private variables.

To solve the above issues I have made the following changes:
1. You can use a helper class, if defined, you can have a function to return your Configuration class instance.
2. You can override a new function in the configuration class to return your Version class instance.

Here is a simple example of what is possible with those changes:
https://gist.github.com/JeffPeters/7535348
This allows me to record when a migration was executed, but more options are possible.

I believe these changes would be useful to others. Please like me know if you agree, and what changes I need to make to let have them ready to be merged in.