Database / Liquibase interview questions
How do you manage Liquibase changeLog files in a multi-module Maven project?
In a multi-module Maven project (common in microservices or modular monolith architectures), each module typically manages its own schema. The recommended approach is to have each module own a separate changeLog tree under its src/main/resources, and then compose them from a top-level root changeLog if the modules share a single deployment unit — or treat each module's changeLog independently if they each deploy their own schema.
A typical structure for a shared-schema approach:
src/main/resources/
db/
changelog/
db.changelog-master.xml <-- root changeLog
releases/
v1.0/
01-create-user-table.xml
02-create-order-table.xml
v1.1/
03-add-status-column.xml
04-add-index-on-email.xml
v2.0/
05-create-payment-table.xmlThe root changeLog uses <includeAll> or ordered <include> tags:
<databaseChangeLog ...>
<includeAll path="db/changelog/releases/v1.0/"/>
<includeAll path="db/changelog/releases/v1.1/"/>
<includeAll path="db/changelog/releases/v2.0/"/>
</databaseChangeLog>For microservices where each service has its own database, each service's changeLog is entirely independent and deployed only with that service. There is no shared root changeLog. In this case, each service configures its own spring.liquibase.change-log pointing to its own changeLog file.
One important consideration with includeAll: Liquibase processes files alphabetically within the included directory. Use a numeric prefix on file names to ensure deterministic ordering. Do not rely on filesystem order — it can vary across operating systems and CI environments.
Invest now in Acorns!!! 🚀
Join Acorns and get your $5 bonus!
Acorns is a micro-investing app that automatically invests your "spare change" from daily purchases into diversified, expert-built portfolios of ETFs. It is designed for beginners, allowing you to start investing with as little as $5. The service automates saving and investing. Disclosure: I may receive a referral bonus.
Invest now!!! Get Free equity stock (US, UK only)!
Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.
The Robinhood app makes it easy to trade stocks, crypto and more.
Webull! Receive free stock by signing up using the link: Webull signup.
More Related questions...
