Hi WOFriends,
What is the "magic" that enables the "Synchronize Schema" button in EOModeler to work?
I have been using MySQL for a while now, currently with Connector/J version 3.1.7. It has been a pleasure to work with. As far as I can tell, There are no other plugins or bundles being used. I certainly have not specified a plugin in EOModeler (just the jdbc url string) and I have not linked any frameworks to my project. With this setup, I've always had "Synchronize Schema" available and it has been reliable, never losing data or running a foul.
It is oh so nice to be beating out the schema in EOModeler and running it through D2W to kick the tires. To make a plethora of changes and click "Sync" is just heaven. You can quickly refine and get the schema nearly perfect, then start building your app. Having a good schema makes app development so nice... well it practically writes itself!
Now I'm interested in the database "Firebird" (no, I'm not talking about Firefox, I'm talking about the open source db derived from Interbase 6.0). I'm talking about the one that operates inside of the M1 Abrams tank. It has a jdbc driver named "Jaybird" that appears to be pretty good. I can auto generate sql and the EO_PK table is automatically generated when your app runs (for auto-assigning primary keys). That's all well and good. You know, in contrast, the Postgres JDBC driver does NOT autogenerate primary keys, you have to use the Hexdreams or project Wonder plugin (on top of the JDBC driver) to get that.
Unfortunately, the Jaybird driver for Firebird doesn't have the "magic" to make the "Synchronize Schema" button light up. It is always dimmed. I'm wondering how hard it will be to add this and where to look.
I examined the source to Connector/J looking for anything related to WebObjects. In particular I hunted for references to "EOSchemaSynchronization" and "EOSynchronizationFactory" but found nothing. Does anyone know where this magic lies? I'd like to see a working example and then do the same for Jaybird/Firebird.
Thanks in advance,
|