includeAll doesnt working in 1.9.3 on Windows

This problem was already mentioned on: http://www.nabble.com/includeAll-cause-%22URI-has-an-authority-component%22-in-release-1.9.3-td23498649.html

Any idea when this fix will be released and in which version?

It is fixed in the code for 1.9.4, but I wasn’t sure if it warranted a new release or not.  It is currently available at http://www.liquibase.org/liquibase-SNAPSHOT.jar. 

I was hoping to get to some of the database diff issues that have been mentioned as part of the the 1.9.4 release, I’m hoping to have them fixed up and released next week.

Nathan

Nathan,

Thanks. This version works.

The value of the attribute path in includeAll must start with “”, otherwise it doesn’t work.
At least this is how it works on Windows. Didn’t try it on Unix, Linux etc.

This behaviour is a bit strange, because for the attribute file in the element include the first slash is not necessary.
And on Linux this implies a root folder.

Another issue with includeAll is when the directory in the attribute path is empty.
Then this error occurs:

SEVERE: Error thrown as a SAXException: Could not find directory \latest\seq/
org.xml.sax.SAXException: Could not find directory \latest\seq/
at liquibase.parser.xml.XMLChangeLogHandler.startElement(XMLChangeLogHandler.java:132)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.emptyElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at liquibase.parser.xml.XMLChangeLogParser.parse(XMLChangeLogParser.java:70)
at liquibase.parser.ChangeLogParser.parse(ChangeLogParser.java:28)
at liquibase.Liquibase.update(Liquibase.java:105)
at liquibase.commandline.Main.doMigration(Main.java:650)
at liquibase.commandline.Main.main(Main.java:97)
28-mei-2009 14:37:15 liquibase.database.template.JdbcTemplate comment
INFO: Release Database Lock
28-mei-2009 14:37:15 liquibase.lock.LockHandler releaseLock
INFO: Successfully released change log lock
28-mei-2009 14:37:15 liquibase.commandline.Main main
SEVERE: Could not find directory \latest\seq/
liquibase.exception.ChangeLogParseException: Invalid Migration File: Could not find directory \latest\seq/
at liquibase.parser.xml.XMLChangeLogParser.parse(XMLChangeLogParser.java:104)
at liquibase.parser.ChangeLogParser.parse(ChangeLogParser.java:28)
at liquibase.Liquibase.update(Liquibase.java:105)
at liquibase.commandline.Main.doMigration(Main.java:650)
at liquibase.commandline.Main.main(Main.java:97)
Caused by: org.xml.sax.SAXException: Could not find directory \latest\seq/
at liquibase.parser.xml.XMLChangeLogHandler.startElement(XMLChangeLogHandler.java:304)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.emptyElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at liquibase.parser.xml.XMLChangeLogParser.parse(XMLChangeLogParser.java:70)
… 4 more

Thanks for the report, I created an issue for this: http://liquibase.jira.com/browse/CORE-380

Nathan

Hi,

I came across the same error using includeAll is when the directory in the attribute path is empty.

 

The jira CORE-380 is closed with “Won’t fix”, the reason being that the user is expected to only include non-empty directories because they actively choose what is going in the change set.

 

I am following the tutorial example for Oracle http://www.liquibase.org/tutorial-using-oracle and this makes use of includeAll in the install.xml file. In my prototype database I have no packages initially so the pks database is empty.

I want to use a standard template for the install.xml so it would be good if includeAll could handle an empty directory.

 

As a workaround, I’ve just placed a file dummy.xml in each directory. This contains an empty databaseChangeLog with no changeSet or other tags. This works around the error and allows me to reuse the same install structure for all my databases.

 

S