HI Robert,
I tried this on my db but it seems the preconditions was ignored thus
it produce exception error while trying to drop/rename column
here is my migrations script (for mysql db)
changeSet(id:'ChangeFoo', author:'R61') {
def tableName = "Foo";
def oldColumnName= "test";
def newColumnName= "no_test";
preConditions(){
columnExists(schemaName:'grailstest', tableName:'Foo',
columnName:'test')
}
dropColumn(tableName: tableName, columnName:newColumnName);
renameColumn(tableName:tableName, oldColumnName:oldColumnName,
newColumnName:newColumnName, columnDataType:"int");
}
error :
[6812] AutobaseGrailsPlugin Error during Autobase migration
liquibase.exception.MigrationFailedException: Migration failed for
change set te
ster-autobase::ChangeFoo::R61:
Reason: liquibase.exception.JDBCException: Error executing SQL
ALTER TABLE
`Foo` CHANGE `test` `no_test` int:
Caused By: Error executing SQL ALTER TABLE `Foo` CHANGE
`test` `no_tes
t` int:
Caused By: Unknown column 'test' in 'foo'
at liquibase.ChangeSet.execute(ChangeSet.java:227)
at liquibase.parser.visitor.UpdateVisitor.visit
(UpdateVisitor.java:26)
at liquibase.parser.ChangeLogIterator.run
(ChangeLogIterator.java:41)
at liquibase.LiquibaseDsl.update(LiquibaseDsl.groovy:93)
at Autobase.migrate(Autobase.groovy:41)
at AutobaseGrailsPlugin$__clinit__closure7.doCall
(AutobaseGrailsPlugin.g
roovy:50)
at AutobaseGrailsPlugin.invokeMethod
(AutobaseGrailsPlugin.groovy)
at AutobaseGrailsPlugin$_closure2.doCall
(AutobaseGrailsPlugin.groovy:82)
.....
===========================================================================================
my domain has no "test" field .. I just want to test wheter the
preconditions working or not.
is there any mistakes on preConditions ?
thanks
regards
adwin
On Dec 30 2008, 11:13 am, Robert Fischer