My guess would be classpath related. Maybe you are running the bash script with a different working directory so that it doesn't by default find the driver and changelog file.
There should be some sort of error message thrown by liquibase. To capture it you could put the liquibase command you are using into output=`....` which would assign the message to the variable $output and you could then reoutput it in a way that you would see it (or redirect it to a file for instance). Paul ----- Original Message ---- From: David C. Hicks <dhi...@i-hicks.org> To: Liquibase Users <liquibase-user@lists.sourceforge.net> Sent: Tuesday, 31 March, 2009 17:41:59 Subject: [Liquibase-user] Patch doesn't run from script. Hi folks, I've got a script that performs the upgrade of a system I'm working on. This includes executing the Liquibase changelog.xml. When running from the script, the changelog.xml doesn't get applied, but if I take the exact same command (copied from an output log of my own) and run it from the command line, it works just fine. This is the command line I'm using: java -jar liquibase-core-1.8.1.jar --driver=com.mysql.jdbc.Driver --classpath=mysql-connector-java-5.0.4.jar --changeLogFile=database/changelog.xml --username=db --password=db --url=jdbc:mysql://localhost:3306/db --contexts="production" --logLevel=fine update Anyone know any reason why this should not work from inside a bash script? Thanks, Dave ------------------------------------------------------------------------------ _______________________________________________ Liquibase-user mailing list Liquibase-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/liquibase-user ------------------------------------------------------------------------------ _______________________________________________ Liquibase-user mailing list Liquibase-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/liquibase-user