I guess it's a little bit out of the scope of Exposed as orm/dao framework. We have functionality to automatically add columns and indices (and log differences which can't be resolved).
If you have a vision how we can integrate Flyaway (sorry, but I never used it) please share or PR.
Yes, I'm agree database migration tool is really important to have. I have developing notification service which is separate from website (not jvm and kotlin) and I want to use Exposed with existing database, so how I suppose to mange my model? Create classes manually? Not efficient. We need such a tool which is automatically generate table classes code from existing database.
@Tapac This is what I had in mind
I was thinking of creating a database migrations tool such as https://bitbucket.org/zzzeek/alembic/src/master/
The basic version would do the following given the list of models to be managed, while at the same time storing the current version identifier in the database:
Initially just generate code to create the models and store the revision identifier (someIdentifier) in the database, something like:
```val revision = "someIdentifier"
val downRevision = null
fun upgrade(models: Array
Most helpful comment
I agree that database migration and version control tools is very important, especially when the java options are really old-school style, needing you to write SQL, XML, etc. If you guys were thinking on developing something like Django migrations inside Exposed, you can count on me for any help.