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: 363
jpa
|eclipselink
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