Hi Luiz,
I believe the only options you have are the one shown in the Database Deployment Wizard.
Keep in mind that you can run the deployment feature as many times as you want and it will only apply the changes needed. It is the same done by the SF installation setup.
I finished implementing this class 2 weeks ago and I did it this way:
1) I have a table to save the database version.
2) I have a constant in my application where I manually change the version number.
3) I have a LoggedUsers table where I keep records of all users and their logged status. I know is not 100% reliable, but unless somebody crashed the data will be reliable.
3) When opening the application, it will compare the constant value with the one in the version table and they don't match, I will check if there are not users logged in LoggedUsers, then will call the migrator class to update the database.
So far it is working fine. Hope that can help you out.
Edhy Rijo