Currently, only up migrations are supported. It may be desirable to allow live data to go back to previous states.
Similarly, many supported databases allow transactions. A simple proposal is to allow all migrations to be completed inside transactions, upon success the transaction should commit, on failure the transaction should rollback.