A new topic, 'liquibase.exception.RollbackFailedException', has been made on a
board you are watching.
You can see it at
http://liquibase.org/forum/index.php?topic=713.new#new
The text of the topic is shown below:
Hi everybody,
Today i finally changed to Liquibase 2.0 Rc5.
Story:
After I created in my small MySQL database a table with name "news" and
attributes "ID" and "author". <-- Tagged with Version 1
After that I did some changes to the main database:
Added new Table with name "newnews" and the attributes "ID" and "adress",
<--Tagged with Version 2
And now i tried to run a rollback with this method:
Code:
public static void rollbackChanges() throws LiquibaseException {
ResourceAccessor resAcc = new FileSystemResourceAccessor();
DatabaseFactory databaseFactory = DatabaseFactory.getInstance();
Database database = null;
try {
database =
databaseFactory.findCorrectDatabaseImplementation(connect());
} catch ( JDBCException e) {
e.printStackTrace();
}
Liquibase liquibase = new Liquibase(changelog, resAcc,
database);
try {
liquibase.rollback("Version 1", "");
} catch (LiquibaseException e ) {
System.out.println("Rollback failed... " + e);
e.printStackTrace();
}
}
and i get the message:
Code:
Rollback failed... liquibase.exception.RollbackFailedException:
liquibase.exception.DatabaseException: Error executing SQL DROP INDEX `PRIMARY`
ON `newnews`
liquibase.exception.RollbackFailedException:
liquibase.exception.DatabaseException: Error executing SQL DROP INDEX `PRIMARY`
ON `newnews`
at liquibase.changelog.ChangeSet.rolback(ChangeSet.java:335)
at
liquibase.changelog.visitor.RollbackVisitor.visit(RollbackVisitor.java:23)
at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:39)
at liquibase.Liquibase.rollback(Liquibase.java:294)
at liq.hibernate.DBTest3.rollbackChanges(DBTest3.java:138)
at liq.hibernate.DBTest3.main(DBTest3.java:154)
Caused by: liquibase.exception.DatabaseException: Error executing SQL DROP
INDEX `PRIMARY` ON `newnews`
at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:62)
at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:97)
at
liquibase.database.AbstractDatabase.execute(AbstractDatabase.java:981)
at
liquibase.database.AbstractDatabase.executeRollbackStatements(AbstractDatabase.java:1005)
at liquibase.changelog.ChangeSet.rolback(ChangeSet.java:322)
... 5 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Incorrect
table definition; there can be only one auto column and it must be defined as a
key
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1051)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3563)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3495)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2687)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2616)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:782)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:625)
at
liquibase.executor.jvm.JdbcExecutor$1ExecuteStatementCallback.doInStatement(JdbcExecutor.java:88)
at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:55)
... 9 more
is it a problem on my side, that i did something wrong or is it a error in the
Syntax of MySQL?
Thanks for reading and answering :)
Unsubscribe to new topics from this board by clicking here:
http://liquibase.org/forum/index.php?action=notifyboard;board=1.0
Regards,
The Liquibase Community Forum Team.------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Liquibase-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/liquibase-user