Is there is a way we can set RunOnChange=true in master changelog file ? rather rhan adding it to each individual change set.

I do not want to change the open source code.

runOnChange is a changeset attribute, it cannot be set at the master changelog level.

It actually sounds like a bad idea to have every changeset as runOnChange, since many SQL statements are not repeatable (Your mileage may vary depending on your DBMS platform of course).

It would be best if you had this at the changeset level for repeatable scripts. I think it is better not to have this setting for any DDL, not recommended. The whole point of liquibase is to skip the changesets that are already applied to your db.