filename of change log is criteria to select updates

Looking at this file it seems that the name of the changelog file is one of the criteria to determine if a changeset was already applied to an database or not. Even worse the entire path to the file is used. The complete path also appears in the DATABASECHANGELOG table.

Having multiple developers and continuous integration servers with different paths makes liquibase think it has to apply all changesets again. Also switching between absolute and relative paths seems to trigger the same issue. Am I missing something? Is this bahavior configurable?


I had the same problems not long ago. Using the “logicalFilePath” attribute solved it for me

Thank you, that solved the problem. I was actually halfway there in that my changelog path was already in the classpath. But out of habit I used an absolute path for the changelog in my build scripts.