Hello,
I would like to start a discussion on a couple of enhancements to the Evolution plugin to ease the modularization and support continuos delivery
1. Support Evolutions distributed across subprojects
Our play app (like a few others) is broken into several subprojects. It will be great if subprojects can be self-contained with evolutions. For ex. in a rails engine, I can do something like db.migration_path << "/path/to/my_migration" and then all folders in the list are considered for assembling the migrations to run.
2. Timestamped Evolutions with Descriptive names :
The current serial number approach could break with the previous requirement. It would be great if evolutions are generated with timestamp and a descriptive name. In older threads, the core team suggested to consolidate evolutions and manage it per release. But early stage SaaS apps do continuous deployment and we have to do schema changes a couple of times a week. Also the evolution names are quite opaque now.
I am loathe to explore heavyweight alternatives like liquibase and Flyway as play evolutions does 90% of what is needed. Since my Scala skills are non-existent, i would be able to support in testing and documentation if this is considered.
Regards
Diwa