# How to apply programatically only change sets which wasn't run?

**URL:** <https://forum.liquibase.org/t/how-to-apply-programatically-only-change-sets-which-wasnt-run/3117>\
**Category:** General Discussion\
**Created:** [September 30, 2014, 11:57pm UTC](https://forum.liquibase.org/t/how-to-apply-programatically-only-change-sets-which-wasnt-run/3117 "2014-09-30T23:57:00Z")\
**Posts on this page:** 1\
**Page:** 1

<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:** [September 30, 2014, 11:57pm UTC](https://forum.liquibase.org/t/how-to-apply-programatically-only-change-sets-which-wasnt-run/3117/1 "2014-09-30T23:57:00Z")

</div>

It is probably an issue with the changeset “path” being different. Part of unique identifier of each changeset is the path, and is stored in databasechangelog. If the way you reference the changeSet changes, the path can be different and so seem to be a new changeset.

If you “select \* from databasechangelog” how does the path compare to the output that lists the current path?

Nathan
