includeAll uses full file path in databasechangelog
Description
Now that is fixed includeAll does find the changeSets but the full filepath is used in the DATABASECHANGELOG table. Thus, running the script from different paths results in multiple executions of the same changelog. I'm not sure whether this is wanted.
Environment
Windows/Linux
Activity
Show:
Nathan Voxland January 9, 2014 at 7:56 PM
Fixed.
It was a problem with relative paths and includeAll. If you have ran changeSets with builds that used the wrong logic, Liquibase will attempt to re-execute the changeSets because the path has now changed.
You can resolve the problem by setting a "logicalFilePath" in the included changeLogs equal to the full path as it was stored before, or by running a SQL call against DATABASECHANGELOG to strip off the extra portion of the path. The SQL will vary by database, but an example with mysql would be:
Now that is fixed includeAll does find the changeSets but the full filepath is used in the DATABASECHANGELOG table.
Thus, running the script from different paths results in multiple executions of the same changelog.
I'm not sure whether this is wanted.