# Changelog Parameters and Checksum Errors

**URL:** <https://forum.liquibase.org/t/changelog-parameters-and-checksum-errors/639>\
**Category:** General Discussion\
**Created:** [July 22, 2010, 9:20pm UTC](https://forum.liquibase.org/t/changelog-parameters-and-checksum-errors/639 "2010-07-22T21:20:00Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![pcleary00](https://avatars.discourse-cdn.com/v4/letter/p/54ee81/32.png) [@pcleary00](https://forum.liquibase.org/u/pcleary00)\
**Post date:** [July 22, 2010, 9:20pm UTC](https://forum.liquibase.org/t/changelog-parameters-and-checksum-errors/639/1 "2010-07-22T21:20:00Z")

</div>

I am getting a checksum error when trying to run a changelog file.&nbsp; I am using parameters in the changelog file, and these parameters DO change, because they are passed in at runtime.

I have that changeset “runAlways=true”, so it is supposed to always run.

Is this supposed to fail?&nbsp; Is there anyway I can get parameterized changelogs to run and have the checksum capability run appropriately?

I am using Liquibase 2.0 rc4.

Here is the exception:  
liquibase.exception.ValidationFailedException: Validation Failed  
1 change sets check sum

at liquibase.changelog.DatabaseChangeLog.validate(DatabaseChangeLog.java:137)  
at liquibase.Liquibase.update(Liquibase.java:106)  
…

---

<div class="post-metadata">

**Author:** ![pcleary00](https://avatars.discourse-cdn.com/v4/letter/p/54ee81/32.png) [@pcleary00](https://forum.liquibase.org/u/pcleary00)\
**Post date:** [July 22, 2010, 9:20pm UTC](https://forum.liquibase.org/t/changelog-parameters-and-checksum-errors/639/2 "2010-07-22T21:20:00Z")

</div>

I think I may have answered my own question.&nbsp; I replaced “runAlways=true” with “runOnChange=true”, and now it runs every time because the parameter changes, which is actually the desired behavior.&nbsp; Sweet.

---

<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:** [July 22, 2010, 9:20pm UTC](https://forum.liquibase.org/t/changelog-parameters-and-checksum-errors/639/3 "2010-07-22T21:20:00Z")

</div>

Glad you figured it out.&nbsp; Thanks for the update

Nathan

---

<div class="post-metadata">

**Author:** ![tinky2jed](https://avatars.discourse-cdn.com/v4/letter/t/e99b99/32.png) [@tinky2jed](https://forum.liquibase.org/u/tinky2jed)\
**Post date:** [April 11, 2023, 4:44pm UTC](https://forum.liquibase.org/t/changelog-parameters-and-checksum-errors/639/4 "2023-04-11T16:44:36Z")

</div>

I’m happy you got your resolved. I have permissions files that I want runAlways so have them set runAlways:true, but they don’t always change and I get the same results:

[2023-04-11 11:34:12] SEVERE [liquibase.integration] Validation Failed:  
1 changesets check sum  
src/main/resources/liquibase/changelog/tenant/perms/grantPerms\_apps.sql::perms-apps::jwalker was: 8:25e863d98cb362ebb38212238a8c0df4 but is now: 8:e1ed8c700694b3d64c1c3e3d634d6939

but it is runAlways:true, so I would expect the checksum would not matter, it should just run?

---

<div class="post-metadata">

**Author:** ![tinky2jed](https://avatars.discourse-cdn.com/v4/letter/t/e99b99/32.png) [@tinky2jed](https://forum.liquibase.org/u/tinky2jed)\
**Post date:** [April 11, 2023, 4:45pm UTC](https://forum.liquibase.org/t/changelog-parameters-and-checksum-errors/639/5 "2023-04-11T16:45:23Z")

</div>

so sorry, the problem is when it does change it fails validation as above, but I would expect as runAlways:true it should not matter if it changes, just run it either way.

---

<div class="post-metadata">

**Author:** ![daryldoak](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.liquibase.org/daryldoak/32/764_2.png) [@daryldoak](https://forum.liquibase.org/u/daryldoak)\
**Post date:** [April 11, 2023, 6:13pm UTC](https://forum.liquibase.org/t/changelog-parameters-and-checksum-errors/639/6 "2023-04-11T18:13:12Z")

</div>

runAlways:true does not allow the changeset to be modified. runOnChange:true allows the changeset to be modified.

---

<div class="post-metadata">

**Author:** ![tinky2jed](https://avatars.discourse-cdn.com/v4/letter/t/e99b99/32.png) [@tinky2jed](https://forum.liquibase.org/u/tinky2jed)\
**Post date:** [April 11, 2023, 6:56pm UTC](https://forum.liquibase.org/t/changelog-parameters-and-checksum-errors/639/7 "2023-04-11T18:56:12Z")

</div>

Thanks Daryl. I just figured that out - runAlways is not a good name for the flag, it should be runNoChange. I got thing to work by having both runAlways:true and runOnChange:true. They should update the documentation to make it clear that it doesn’t always run, and that it can actually create an unexpected error.

---

<div class="post-metadata">

**Author:** ![daryldoak](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.liquibase.org/daryldoak/32/764_2.png) [@daryldoak](https://forum.liquibase.org/u/daryldoak)\
**Post date:** [April 11, 2023, 9:19pm UTC](https://forum.liquibase.org/t/changelog-parameters-and-checksum-errors/639/8 "2023-04-11T21:19:49Z")

</div>

runAlways:true is used to run a changeset on every liquibase deployment, but it expects that you are not modifying that changeset.

runOnChange:true is for running a changeset everytime it is modified.

You should not have to have both flags on the same changeset.

---

<div class="post-metadata">

**Author:** ![tinky2jed](https://avatars.discourse-cdn.com/v4/letter/t/e99b99/32.png) [@tinky2jed](https://forum.liquibase.org/u/tinky2jed)\
**Post date:** [April 12, 2023, 5:13pm UTC](https://forum.liquibase.org/t/changelog-parameters-and-checksum-errors/639/9 "2023-04-12T17:13:51Z")

</div>

because runAlways does not “run always” (it fails if the file changed) I need to have both to ensure this script is run every deploy whether or not it has changed. Thus I need to have both of these in order to do that. If runAlways always run like it is described, then I would only need runAlways:true.

---

<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:** [April 13, 2023, 1:24pm UTC](https://forum.liquibase.org/t/changelog-parameters-and-checksum-errors/639/10 "2023-04-13T13:24:41Z")

</div>

I created [RunAlways="true" still fails checksum errors · Issue #4125 · liquibase/liquibase · GitHub](https://github.com/liquibase/liquibase/issues/4125) to track the feature request to make runAlways run regardless of checksum validation

Nathan
