reverse engineer

From: Mike Schrag (mschra..dimension.com)
Date: Sun Feb 18 2007 - 19:35:08 EST

  • Next message: Lars Sonchocky-Helldorf: "Fwd: [OS-JIRA] Commented: (WOL-356) bug in entity modeler's _deletedEntityNamesInObjectStore creation"

    I just committed a first pass at reverse engineering. Like SQL gen,
    this does a pass-through to EOF. There are some differences in the
    way this works compared to EOModeler:

    * In EOModeler, you create a new model with a reverse engineering.
    In Entity Modeler, you reverse engineer into an existing model. This
    means you can reverse engineer multiple times (if you add tables
    later, for instance). To reverse engineer:
    ** Make a new EOModel
    ** Set the connection dictionary, etc on your active database config
    ** Select the model node in the outline view
    ** Click the Reverse Engineer button on on the Entity Modeler button
    bar (yes .. these icons are all totally confusing and there are tons
    of them ... i know ... i need to start pulling these things out into
    menus, but I've just been to lazy to do it)
    ** Select the tables, click OK
    ** Profit

    * Entity Modeler will attempt to guess prototypes on reverse
    engineered attributes. This is sort of hackish right now, because at
    least with FrontBase, reverse engineering generates attributes with
    values that are different than Wonder's prototypes. There is a big
    if/else block of "leniency" for these comparisons to accomodate. If
    you run into ones that aren't guessed properly, let me know and I can
    take a look. Right now with FrontBase, most of the Wonder ones are
    guessed right.

    * Entity Modeler will rename for capitalization on attributes,
    entities, and relationships. Reverse engineering (at least with
    FrontBase) generates everything in all caps. This look really ugly
    and makes EM generate lots of warnings. Names are post-processed to
    look SLIGHTLY better (obviously it can't really guess CamelCase
    entity names)

    There's currently no feedback when this operation is running, so just
    trust that it is cranking away. Prototype guessing is a little bit
    labor intensive. I need to hookup a progress dialog so you can see
    what the heck it's doing.

    Try it out in tonight's build and let me know.

    ms



    This archive was generated by hypermail 2.0.0 : Mon Feb 19 2007 - 07:43:27 EST