Liquibase fails to find datasource when devservices is disabled.
See original GitHub issueDescribe the bug
I get the following error when I set quarkus.datasource.devservices=false
in dev
mode after upgrading Quarkus from 1.12.2.Final to 1.13.0.Final. I already have a database running on my dev environment so I don’t need another database.
17:24:14 ERROR [io.quarkus.runtime.Application] (Quarkus Main Thread) [] Failed to start application (with profile dev): javax.enterprise.inject.UnsatisfiedResolutionException: No datasource has been configured
at io.quarkus.liquibase.runtime.LiquibaseRecorder$1.get(LiquibaseRecorder.java:27)
at io.quarkus.liquibase.runtime.LiquibaseRecorder$1.get(LiquibaseRecorder.java:24)
at io.quarkus.liquibase.LiquibaseFactory_aaeeb0753d75aedb9e43338fbff15184711093e6_Synthetic_Bean.create(LiquibaseFactory_aaeeb0753d75aedb9e43338fbff15184711093e6_Synthetic_Bean.zig:160)
at io.quarkus.liquibase.LiquibaseFactory_aaeeb0753d75aedb9e43338fbff15184711093e6_Synthetic_Bean.create(LiquibaseFactory_aaeeb0753d75aedb9e43338fbff15184711093e6_Synthetic_Bean.zig:176)
at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:96)
at io.quarkus.arc.impl.AbstractSharedContext.access$000(AbstractSharedContext.java:14)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:29)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:26)
at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:26)
at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:17)
at io.quarkus.liquibase.LiquibaseFactory_aaeeb0753d75aedb9e43338fbff15184711093e6_Synthetic_ClientProxy.arc$delegate(LiquibaseFactory_aaeeb0753d75aedb9e43338fbff15184711093e6_Synthetic_ClientProxy.zig:67)
at io.quarkus.liquibase.LiquibaseFactory_aaeeb0753d75aedb9e43338fbff15184711093e6_Synthetic_ClientProxy.getDataSourceName(LiquibaseFactory_aaeeb0753d75aedb9e43338fbff15184711093e6_Synthetic_ClientProxy.zig:211)
at io.quarkus.liquibase.runtime.devconsole.LiquibaseFactoriesSupplier$LiquibaseFactoryComparator.compare(LiquibaseFactoriesSupplier.java:41)
at io.quarkus.liquibase.runtime.devconsole.LiquibaseFactoriesSupplier$LiquibaseFactoryComparator.compare(LiquibaseFactoriesSupplier.java:35)
at java.base/java.util.TreeMap.put(TreeMap.java:550)
at java.base/java.util.TreeSet.add(TreeSet.java:255)
at io.quarkus.liquibase.runtime.devconsole.LiquibaseFactoriesSupplier.get(LiquibaseFactoriesSupplier.java:30)
at io.quarkus.liquibase.runtime.devconsole.LiquibaseFactoriesSupplier.get(LiquibaseFactoriesSupplier.java:18)
at io.quarkus.vertx.http.runtime.devmode.DevConsoleRecorder.addInfo(DevConsoleRecorder.java:37)
at io.quarkus.deployment.steps.DevConsoleProcessor$runtimeTemplates-308161071.deploy_0(DevConsoleProcessor$runtimeTemplates-308161071.zig:150)
at io.quarkus.deployment.steps.DevConsoleProcessor$runtimeTemplates-308161071.deploy(DevConsoleProcessor$runtimeTemplates-308161071.zig:40)
at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:1058)
at io.quarkus.runtime.Application.start(Application.java:90)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:100)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:66)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:42)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:119)
at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:29)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at io.quarkus.runner.bootstrap.StartupActionImpl$3.run(StartupActionImpl.java:134)
at java.base/java.lang.Thread.run(Thread.java:834)
Expected behavior
I expect Liquibase to use named datasource as configured. There was no problem prior to Quarkus 1.13.0.Final.
Actual behavior
Liquibase fails to find named datasources
Configuration
# Add your application.properties here, if applicable.
quarkus.datasource.devservices=false
quarkus.datasource."inventory".db-kind=postgresql
quarkus.datasource."inventory".username=inventory
quarkus.datasource."inventory".password=secret
quarkus.datasource."inventory".jdbc.url=jdbc:postgresql://localhost:5432/inventory
quarkus.datasource."inventory".jdbc.min-size=2
quarkus.datasource."inventory".jdbc.max-size=50
quarkus.liquibase."inventory".change-log=db/s3-inventory/changelog.xml
quarkus.liquibase."inventory".migrate-at-start=true
Issue Analytics
- State:
- Created 2 years ago
- Comments:6 (3 by maintainers)
Top Results From Across the Web
Spring boot testing with liquibase fails - Stack Overflow
I had the same issue, and it seems to have been caused by case sensitive checking of the database table name. That is,...
Read more >Dev Services for Databases - Quarkus
Enabling / Disabling Dev Services for Database. Dev Services for databases automatically starts a database server in dev mode and when running tests....
Read more >Home of Quarkus Cheat-Sheet - GitHub Pages
General configuration properties: quarkus.devservices.enabled. If you want to disable all Dev Services. (default: true ). quarkus.devservices.timeout.
Read more >chore(deps): update dependency io.quarkus:quarkus ... - GitLab
An error occurred while retrieving approval data for this merge request. chore(deps): update dependency io.quarkus:quarkus ...
Read more >Configuring dedicated Liquibase Datasource on Spring Boot 2
Why Spring Boot, why?! The Solution. I was hoping to find a nice little property to configure liquibase Hikari Connection Pool, something like ......
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
getting-started-liquibase-test.zip
When you uncomment
#quarkus.datasource.devservices=false
inapplication.properties
you’ll get the error.Yes I know.
What I am asking @gsmet is whether the use case with no default datasource and only named datasources is supported (which I assume it is), or if it was working up until now by accident.