He usado SchemaUpdate de Hibernate para realizar la misma función que las migraciones. En realidad, es más fácil que las migraciones porque cada vez que inicias tu aplicación, examina la estructura de la base de datos y la sincroniza con tus mapeos para que no haya más rake: db: migrate step y tu aplicación nunca puede estar desincronizada con la base de datos que está ejecutando en contra. Los archivos de mapeo de Hibernate no son más complejos que las migraciones de Rails, por lo que incluso si no usó Hibernate en la aplicación, podría aprovecharlo. La desventaja es que no es tan flexible en cuanto a retroceder, migrar hacia abajo, ejecutar declaraciones DML. Como se señaló en los comentarios, tampoco suelta tablas o columnas. Ejecuto un método separado para hacerlo manualmente como parte del proceso de inicialización de Hibernate.
Sin embargo, no veo por qué no puede usar las migraciones de Rails; siempre que no le importe instalar la pila (Ruby, Rake, Rails), no tendrá que tocar su aplicación.