-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to Liquibase 4.0.0 #11147
Upgrade to Liquibase 4.0.0 #11147
Conversation
Very nice! So we had this discussion about waiting for 4.0.1 (just to be safe) in that other dependabot PR #10878. Btw, these are the issues slated for 4.0.1 so far: https://github.com/liquibase/liquibase/issues?q=is%3Aissue+is%3Aopen+label%3ATarget4.0.1 |
@famod Yes, I agree we can wait for the 4.0.1, there is no rush on this. |
I think it's better to merge this PR now and let Dependabot do the easy work of bumping to a patch version later, but if you guys think it's safer to wait for 4.0.1, I'm fine with that 😉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, deleting code is always good 😄
As there is only one bugfix planned for 4.0.1 so far (which is a rather special one IMO, the rest is enhancements), I am +/- 0 for merging now. 🤷♂️ |
@famod now I am curious. Got a link to this special bug? |
With "special" I meant that it seems like a corner case, not a general showstopper or so. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work @andrejpetras , thanks for taking care of this!
Let's merge it, if something critical comes up, I'm sure they will release a 4.0.1 right away.
@andrejpetras I just tried out the current We are using a custom |
@famod |
I was able to confirm that this PR breaks our special use case. I guess something has changed in Liquibase 4.
Something like: final ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
final ResourceAccessor resourceAccessor = new ClassLoaderResourceAccessor(contextClassLoader);
final Set<String> changeLogs = Optional.ofNullable(resourceAccessor.list(null, "db/", true, false, false))
.stream()
.flatMap(Collection::stream)
.filter(i -> i.toLowerCase().contains("changelog-"))
.collect(Collectors.toSet()); This should (normally) find files like |
@famod |
Ok, thanks for checking. I'll have a look at this. Disclaimer: This is a corner case and non-standard usage of the liquibase extension. Therefore I do not propose to roll back or "fix" this PR in any way. |
FTR, parameters of |
LOL, this is unbelievable 😆 |
But apparently this has 0 impact since we don't implement |
Yeah, pretty dodgy. 🤦
Not for Quarkus, but in my project we have to use a custom I just wanted to leave a clue for others that might be in the same position. 🙂 |
Turns out that |
Hi,
I prepared the PR for the Liquibase v4 which has new "liquibase-core"
The main changes are:
I did few test on my laptop and compared it to 1.6.1 I got same or better time. My test application: https://github.com/andrejpetras/quarkus-liquibase-test
Quarkus 1.6.1
** clean-at-start: true - native (powered by Quarkus 1.6.1.Final) started in 4.764s. Listening on: http://0.0.0.0:8080
** clean-at-start: false - native (powered by Quarkus 1.6.1.Final) started in 2.341s. Listening on: http://0.0.0.0:8080
Quarkus 999-SNAPSHOT
** clean-at-start: true - native (powered by Quarkus 999-SNAPSHOT) started in 2.958s. Listening on: http://0.0.0.0:8080
** clean-at-start: false - native (powered by Quarkus 999-SNAPSHOT) started in 0.580s. Listening on: http://0.0.0.0:8080
I might not test all the possible scenarios which can this extension used in. I am open for any suggestions or examples which we need to add to the tests or test with test application.
Andrej