On Jul 9, 2008, at 4:32 PM, JR Ruggentaler wrote:


On Jul 9, 2008, at 3:11 PM, David Avendasora wrote:

JR,

I think you don't understand what the prototypes are that Chuck is referring to.

I do understand but we are not using prototypes. The EO models are quite old and were always targeted at Oracle and the external types were specified using Oracle types (VARCHAR2, NUMBER,...) back in the WO 4.x days.

The good news is that setting them up is only marginally more work than manually updating everything once. So if you are at a point of considering manually updating the model, then you might as well move to Prototypes, and then not have to worry about it again in the future.



Prototypes, when talking about Entity Modeler, are a way to abstract the DB's data types from the model. So instead of specifying the external type for a attribute, you specify which prototype to use. You can then swap out the prototypes from Oracle ones to Derby ones and your done. Without prototypes, you'll have to manually change them. Prototypes _are_ the automatic way of changing RDBMSs that you are looking for.

http://wiki.objectstyle.org/confluence/display/WOL/Using+Entity+Modeler
I will check out the page.

Scroll down to the section on prototypes and it will show you how to add them to your model. This should save you a lot of time in the future.

Dave

On Jul 9, 2008, at 3:32 PM, JR Ruggentaler wrote:

No, no prototypes are used. All the entities are EOGenericRecords and are modified quarterly+. We are trying speed access to this data but we don't want to cache these entities due to the amount of data.

On Jul 9, 2008, at 2:24 PM, Chuck Hill wrote:

Are you using prototypes in your model?


On Jul 9, 2008, at 12:17 PM, JR Ruggentaler wrote:

I have a EO model that I want to move some entities at runtime from an Oracle database to a local Derby database. I created a new model at run time and added the entities to the new model and removed the same entities from the other model. Then I tried using:

EOSchemaGeneration .createTableStatementsForEntityGroup(localModel.entities());

to generate the Derby create statements but that fails at:

EOSQLExpression.columnTypeStringForAttribute();

the external types from the Oracle model are different from Derby. For example Derby doesn't recognize NUMBER and VARCHAR2. Is there some way to convert a model written for one RDBMS (Oracle) to another RDBMS (Derby)? I can manually iterate the attributes and change the attribute external type (EOAttribute.setExternalType()) but I am hoping EOF or some one on this list has a more elegant way of switching RDBMS on the fly in code.

P.S. I am using WO 5.4

JR
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net

This email sent to [EMAIL PROTECTED]

--

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects






_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40avendasora.com

This email sent to [EMAIL PROTECTED]







_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to