views:

40

answers:

1

It generates MyISAM tables by default. I don't want to have to get it to generate a DDL script and then edit that if I can avoid it. I would also like to avoid changing the default table type of my MySQL installation unless I can do that for online one database. Any ideas?

+2  A: 

Can't see any way other than editing the scripts, or setting the default type in MySQL.

There is a bug logged for this, please vote for it,

https://bugs.eclipse.org/bugs/show_bug.cgi?id=214519

EclipseLink does support creating tables with a postFix such as engine=InnoDB in its TableDefinition setCreationSuffix(), but does not support any way to generate this, and does not provide an event or platform hook for default table generation (which would be very useful).

You could use EclipseLink DefaultTableGenerator yourself to generate your tables yourself in a SessionCustomizer. You would call generateDefaultTableCreator() then loop through its TableDefitions add set the InnoDB suffix, then tell it to create the tables. All of the classes are in the org.eclipse.persistence.tools.schemaframework package.

James
Thanks for the info. I have gone with changing MySQL default table type for now. I voted for that bug.
David Tinker