We at our organization use upgrade manager to upgrade from older release to newer release. internally this upgrade manager uses several migrators (each module/team has it's own migrator) to migrate from older release to newer.
The big pain is to debug these migrators, everyone escape their self from migrator issues because of this pain.
when we get customer issues, we try to reproduce them by simulating the migrator. to simulate the migrator we write the main method (in most of the migrators it's already written, we add it when we write that migrator) and call the migrator in that main method.
But for this we have to checkout the file write main method (if it's not there)and then call the class from cmd.
i was thinking of writing a small GUI app which simulates all this, so people can get rid of this pain.
Here are what issues i observed before start writing ::
1.> In the migrator we create db connection (we don't hardcode the connection but it automatically takes from the installation where we run the upgrade manager). so how do i will pass the hard coded connection from my app?
2.> in the GUI app i can give text fields where user can enter the migrator name and db details and in the backend i will create object of that migrator and call that migrator using main but:
what if that migrator already has a main method?