I've never actually had to set any properties to make prototypes work for MySQL here. Perhaps you should try commenting them all out and only using what is in the eomodel file itself? (typos?) Perhaps you've tried that already...
Now that I've started playing with ERAttachment though, I need to use migrations, meaning I needed to set some properties... Those appear to need to match what are in the eomodel to work though. Currently I have
# Connection Dictionary
dbConnectURLGLOBAL=jdbc:mysql://localhost/Example?capitalizeTypenames=true&zeroDateTimeBehavior=convertToNull&characterEncoding=UTF-8
dbConnectUserGLOBAL=username
dbConnectPasswordGLOBAL=password
dbEOPrototypesEntityGLOBAL=EOJDBCMySQLPrototypes
dbConnectDriverGLOBAL=com.mysql.jdbc.Driver
dbConnectPluginGLOBAL=com.example.db.MySQLPlugIn
My plugin is a minimal piece of code right now just to get migrations working with ERAttachment on MySQL for testing. I hope to improve it/contribute it to Wonder when I get the time. Migrations really won't work on MySQL without some improvement on the plugin though...
package com.example.db;
import com.webobjects.eoaccess.EOAdaptor;
import com.webobjects.eoaccess.synchronization.EOSchemaSynchronizationFactory;
import com.webobjects.jdbcadaptor.JDBCAdaptor;
public class MySQLPlugIn extends com.webobjects.jdbcadaptor.MySQLPlugIn {
public MySQLPlugIn(JDBCAdaptor adaptor) {
super(adaptor);
}
public EOSchemaSynchronizationFactory createSchemaSynchronizationFactory() {
return new MySQLSynchronizationFactory(_adaptor);
}
public class MySQLSynchronizationFactory extends com.webobjects.jdbcadaptor.MySQLPlugIn.MySQLSynchronizationFactory {
public MySQLSynchronizationFactory(EOAdaptor adaptor) {
super(adaptor);
}
public String _alterPhraseInsertionClausePrefixAtIndex(int columnIndex) {
return "ADD";
}
}
}