Database / Liquibase interview questions
How does rollback work in Liquibase?
Liquibase rollback allows you to undo previously applied changeSets, reverting the database to an earlier state. There are two ways to define rollback behavior for a changeSet: automatic rollback and explicit rollback.
For many built-in Liquibase change types — createTable, addColumn, createIndex, addForeignKeyConstraint — Liquibase can automatically generate the inverse operation (DROP TABLE, DROP COLUMN, etc.) without you writing anything. These are called automatically reversible changes.
For changes that are not automatically reversible — dropTable, insert, sql, any custom SQL — you must provide an explicit rollback block:
<changeSet id="add-status-column" author="dave">
<addColumn tableName="order">
<column name="status" type="VARCHAR(20)" defaultValue="PENDING"/>
</addColumn>
<!-- Explicit rollback not needed here - addColumn is auto-reversible -->
</changeSet>
<changeSet id="populate-status" author="dave">
<sql>UPDATE "order" SET status = 'PENDING' WHERE status IS NULL</sql>
<rollback>
<!-- We cannot un-update rows without knowing old values, so mark empty -->
<sql>-- intentionally empty: data rollback not feasible</sql>
</rollback>
</changeSet>Rollback commands available in Liquibase:
rollback <tag>— rolls back all changeSets applied after the specified tag.rollbackCount <N>— rolls back the last N changeSets.rollbackToDate <datetime>— rolls back to a specific point in time.
You can also preview what would be rolled back without actually executing it using rollbackSQL, rollbackCountSQL, etc. — these generate the SQL that would be run, letting you review before committing.
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...
