Skip to content

Quarkus-Liquibase-MongoDB supporting multiple datasources #48986

@ihmabreu

Description

@ihmabreu

Description

Currently the Quarkus Liquibase MongoDB extension does not support multiple datasources.

The goal would be to extend it to support multiple datasources as we have it currently in the Quarkus Liquibase extension.

Multiple clients

Liquibase MongoDB can be configured for multiple clients. The Liquibase properties are prefixed exactly the same way as the named clients, for example:

quarkus.mongodb.connection-string=mongodb://login:pass@mongo1:27017/database
quarkus.mongodb.database=database

quarkus.mongodb.users.connection-string=mongodb://mongo2:27017/userdb
quarkus.mongodb.users.database=userdb

quarkus.mongodb.inventory.connection-string=mongodb://mongo3:27017/invdb,mongo4:27017/invdb
quarkus.mongodb.inventory.database=invdb

# Liquibase MongoDB configuration for the default MongoDB client
quarkus.liquibase-mongodb.change-log=db/changeLog.xml
quarkus.liquibase-mongodb.migrate-at-start=true

# Liquibase MongoDB configuration for the "users" MongoDB client
quarkus.liquibase-mongodb.users.change-log=db/users.xml
quarkus.liquibase-mongodb.users.migrate-at-start=true

# Liquibase MongoDB configuration for the "inventory" MongoDB client
quarkus.liquibase-mongodb.inventory.change-log=db/inventory.xml
quarkus.liquibase-mongodb.inventory.migrate-at-start=true

Notice there’s an extra bit in the key. The syntax is as follows: quarkus.liquibase-mongodb.[optional name.][liquibase property].

Without configuration, Liquibase MongoDB is set up for every client using the default client settings.

Thoughts?

Implementation ideas

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions