Eclipselink update existing tables
- by javydreamercsw
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?