Hi Bernd, Thanks for your message.
Indeed, there's a jOOQ-migrations draft module, which is currently on hold, but not abandoned. The main reason for it being on hold is that there are a lot of much simpler things to do in jOOQ itself before tackling such a huge project like database migrations. If you look at jOOQ 3.19: https://blog.jooq.org/jooq-3-19s-new-explicit-and-implicit-to-many-path-joins/ https://blog.jooq.org/jooq-3-19-0-released-with-duckdb-trino-oracle-23c-support-join-path-improvements-an-official-gradle-plugin-commercial-maven-repositories-policies-udt-paths-trigger-meta-data-hierarchies-and/ - Explicit path joins - To-many (including many-to-many) path joins - Path correlations (such a game changer for MULTISET and other correlated subqueries!) - The above will spin off into even more exciting features around nesting that are constantly recurring, see e.g. this discussion: https://groups.google.com/g/jooq-user/c/MbKxVxyI2Bk - Gradle plugin (another gift that keeps on giving) - Commercial maven repository - Policies (quite a few new customers just because of this!) - UDT paths All of these things were small and limited in scope, though still challenging. Database migrations is a huge project in comparison. When it started, it created tons of spin-off projects, which have been implemented already, including: - Tons of parser improvements - Tons of DDL features and emulations - The DDL interpreter - The diff functionality (check it out here: https://www.jooq.org/diff) These things will by themselves lead to other improvements that people can already use today, including: - Better DDL translator support (see https://www.jooq.org/translate) - A hopefully soon improved DDLDatabase that doesn't rely on H2 anymore - Database schema versioning (being able to work with two versions of a schema at the same time) - etc. The idea here is that with all the little prerequisites implemented, supporting database migrations will eventually just be a small API that combines tons of little, battle tested (in production) features that have been around for a long time. Perhaps, for jOOQ-migrations, things are a bit more tricky than for Liquibase/Flyway, because it will have to work effortlessly with jOOQ and jOOQ's code generator, CI/CD pipelines, etc. *in addition to* being able to be used standalone with other ORMs, for example. But you can help! :) While there's not much to say about Flyway (it's "just" a SQL script management API), I'm curious what you like / dislike about Liquibase. Why are the XML files maintenance intensive? Also, what's so great about Play Framework Evolutions? What particular things should jOOQ-migrations take inspiration from? Cheers, Lukas On Sat, May 18, 2024 at 5:05 PM 'Bernd Huber' via jOOQ User Group < [email protected]> wrote: > i like to use the following frameworks for database evolutions (migrations) > - liquibase > - flyway > - play framework evolutions > > but they all have some drawbacks: > > - liquibase: > - complicated rollbacks and tedious XML/SQL files that are very > maintenance intensive > - only transaction safe within each changeset (no full transactional > safety for all changesets at once) > > flyway: > - no rollbacks (without commercial) > > play framework evolutions: > - no good support outside of the play framework world. > > --- > > i somewhere read that (i dont know exactly where), that jooq also plans to > provide an own database evolutions framework with jooq. > > Wanted to ask if there is something in the making... :) > > It could be nice to write typesafe Database Evolutions with Jooq, make > rollbacks, convert them to SQL if needed outside of the framework, etc. > > -- > You received this message because you are subscribed to the Google Groups > "jOOQ User Group" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jooq-user/d636129e-df4f-4d2f-a518-dc31c2ea2013n%40googlegroups.com > <https://groups.google.com/d/msgid/jooq-user/d636129e-df4f-4d2f-a518-dc31c2ea2013n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "jOOQ User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jooq-user/CAB4ELO7OkwAmHyk1UXjET9HRCoAjkxnHD%3D9aCpoamoLNGpNUQQ%40mail.gmail.com.
