# Ways to verify database integrity

**URL:** https://forum.liquibase.org/t/ways-to-verify-database-integrity/1171
**Category:** General Discussion
**Created:** [March 16, 2011, 7:58pm UTC](https://forum.liquibase.org/t/ways-to-verify-database-integrity/1171 "2011-03-16T19:58:00Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![aehrensberger](https://avatars.discourse-cdn.com/v4/letter/a/c5a1d2/32.png) [@aehrensberger](https://forum.liquibase.org/u/aehrensberger)
#### Post date: [March 16, 2011, 7:58pm UTC](https://forum.liquibase.org/t/ways-to-verify-database-integrity/1171/1 "2011-03-16T19:58:00Z")

</div>

We use liquibase to perform all our database upgrades and it works well. &nbsp;Very happy with it…

I’m curious if it provides a piece of functionality - I’d like to be able to run ‘something’ at startup or as a separate program that can verify that the version of the software is compatible with the version of the DB. &nbsp;The trick here is - I don’t necessarily use just the DBChangeLog table because someone could have run a changeset, then went back in and ‘removed’ the column that the changeset just added. &nbsp;This type of behavior is what I’m hoping to verify.

Is there any way to do that type of thing using liquibase?

---

<div class="post-metadata">

### Author: ![nvoxland](https://avatars.discourse-cdn.com/v4/letter/n/87869e/32.png) [@nvoxland](https://forum.liquibase.org/u/nvoxland)
#### Post date: [March 16, 2011, 7:58pm UTC](https://forum.liquibase.org/t/ways-to-verify-database-integrity/1171/2 "2011-03-16T19:58:00Z")

</div>

There is support for preconditions on changeSets and the changelog file itself. There are several that ship with liquibase (see&nbsp;[http://www.liquibase.org/manual/preconditions](http://www.liquibase.org/manual/preconditions)) and with liquibase 2.0 you are able to define custom preconditions as well (see [http://liquibase.org/extensions)](http://liquibase.org/extensions))

Is that the sort of&nbsp;functionality&nbsp;you are looking for?  
  
Nathan
