Eclipselink update existing tables

Posted by javydreamercsw on Stack Overflow See other posts from Stack Overflow or by javydreamercsw
Published on 2010-05-31T19:53:44Z Indexed on 2010/05/31 22:13 UTC
Read the original article Hit count: 339

Filed under:
|

Maybe I got it wrong but i though that JPA was able to update an existing table (model changed adding a column) but is not working in my case.

I can see in the logs eclipselink attempting to create it but failing because it already exists. Instead of trying an update to add the column it keeps going.

(Had to remove some < so it displays)

property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jwrestling"/>
      property name="javax.persistence.jdbc.password" value="password"/>
      property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
      property name="javax.persistence.jdbc.user" value="user"/>
      property name="eclipselink.ddl-generation" value="create-tables"/>
      property name="eclipselink.logging.logger" value="org.eclipse.persistence.logging.DefaultSessionLog"/>
      property name="eclipselink.logging.level" value="INFO"/>

And here's the table with the change (online column added)

[EL Warning]: 2010-05-31 14:39:06.044--ServerSession(16053322)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.1.0.v20100517-r7246): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'account' already exists
Error Code: 1050
Call: CREATE TABLE account (ID INTEGER NOT NULL, USERNAME VARCHAR(32) NOT NULL, SECURITY_KEY VARCHAR(255) NOT NULL, EMAIL VARCHAR(64) NOT NULL, STATUS VARCHAR(8) NOT NULL, TIMEDATE DATETIME NOT NULL, PASSWORD VARCHAR(255) NOT NULL, ONLINE TINYINT(1) default 0 NOT NULL, PRIMARY KEY (ID))
Query: DataModifyQuery(sql="CREATE TABLE account (ID INTEGER NOT NULL, USERNAME VARCHAR(32) NOT NULL, SECURITY_KEY VARCHAR(255) NOT NULL, EMAIL VARCHAR(64) NOT NULL, STATUS VARCHAR(8) NOT NULL, TIMEDATE DATETIME NOT NULL, PASSWORD VARCHAR(255) NOT NULL, ONLINE TINYINT(1) default 0 NOT NULL, PRIMARY KEY (ID))")
[EL Warning]: 2010-05-31 14:39:06.074--ServerSession(16053322)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.1.0.v20100517-r7246): org.eclipse.persistence.exceptions.DatabaseException

After this it continues with the following.

Am I doing something wrong or is a bug?

© Stack Overflow or respective owner

Related posts about jpa

Related posts about eclipselink