Isolate Play Evolutions functionality

Hey forum colleagues!

After some experimentation with database evolution control tools, I realized that the way the Play Framework works with Play Evolutions is really simple and effective for most of the situations I face every day. But in the company that I work, several frameworks are in use besides the Play Framework, thus we have to use another database management solutions like Flyway and Liquibase.

I really would like to use the Play Framework for managing databases in other commercial frameworks. With that in mind, I created a self-configuring plugin of a part of the code taken from the Play Framework project to be used on Spring Boot https://github.com/gabriel-76/database-evolutions.

The issue is that versions are disconnected by version control management, and any Play Framework project source code updates must be manually replicated in the project.

Because of that, I would like to know whether there is any initiative in order to isolate Play Evolutions functionality into an independent library that could be shared with any Java/Scala based technology.

If there is any library, how can I find it?

Otherwise, how can I start work in this direction?

Hi @gabriel-76,

Play evolutions is already a separated library, but I guess that what you are looking for is a version of evolutions that doesn’t bring-in any Play dependencies, correct?

I think that a possible solution is to split it into play-evolutions-core (that you can use outside of Play) and play-jdbc-evolutions that offers the integration with Play.

In any case, in order to not increase the maintenance on our side, we should keep both inside the Play project. That should no be a problem as long as you can have play-evolutions-core.jar published apart.

We are not planning to work on that, but if you want to give a try and work on it, please open a PR on GitHub and we can discuss on the PR.

Cheers,

Renato

1 Like

Hello @octonato,

Play evolutions is already a separated library, but I guess that what you are looking for is a version of evolutions that doesn’t bring-in any Play dependencies, correct?

That’s right, that’s what I’m looking for.

In any case, in order to not increase the maintenance on our side, we should keep both inside the Play project. That should no be a problem as long as you can have play-evolutions-core.jar published apart.

Ok, that sounds very interesting to me.

We are not planning to work on that, but if you want to give a try and work on it, please open a PR on GitHub and we can discuss on the PR.

I see, the team must have several other important demands to meet. I will create a PR on GitHub to see what I can do, thank you very much for your attention.

Regards,

Gabriel.