Hi there,

i just committed a working solution for EMPIREDB-110 the reverse-engineering of foreign-key relationships.
i'd be happy if anyone could have a look at it.

Cherio
    Benjamin

Am 29.06.2011 15:12, schrieb Matt DeHoust:
Thank you Benjamin and Rainer. I have subscribed to the dev list. I'll take
a look at the code when I return from vacation and follow up using the dev
list with any questions or ideas. I hope to have a chance to look into it
this weekend.

-Matt

On Wed, Jun 29, 2011 at 6:30 AM, Rainer Döbele<[email protected]>  wrote:

Hi everyone,****

** **

I think this is an important improvement of the code generator that we
should implement.****

I have created a Jira Issue for this:****

** **

https://issues.apache.org/jira/browse/EMPIREDB-110****

** **

Matt, if you feel you can and want to do It, then we would certainly
appreciate this.****

You may create a patch file and attach it to the JIRA ticket.****

Then we can apply the patch and commit the code to svn.****

** **

For further discussion I would recommend to move to the dev-mailing list:*
***

[email protected]****

** **

Thanks, ****

Rainer****

** **

** **

*Von:* Benjamin Venditti [mailto:[email protected]]
*Gesendet:* Mittwoch, 29. Juni 2011 01:47
*An:* [email protected]
*Cc:* Matt DeHoust
*Betreff:* Re: Relationships****

** **

Hi Matt,

thanks for your interest in empire-db.

regarding your request ... unfortunately the codegen does not set up the
relation of the database model.
At the moment the codegen will only set up views and tables. We thought
these are the most important for the most people as they are usually
sufficient for simple data access.

However i think there are two occasions where the relations are important:
     - database creation
     - deletion of records with cascading deletion enabled

At the moment we have not planned to add "relationship generation"  to the
codegen component, but I am glad to hear that you consider to extend it on
your own.

The right place to start with that would be:
    * CodeGenParser.populateDatabase(..) : 131* : This is the point where
the DatabaseMetaData is querried and used to populate empire-db's model
     *CodeGenWriter.generateCodeFiles(..) : 125* : Is used to serialize the
populated model as java code
     *src/main/resources/Database.vm :  70* : This is the velocity template
we use to create the java class for the database.

In its default constructor you'd need to add a line for each relationship
similar to this:

                                 *addRelation(
EMPLOYEES.DEPARTMENT_ID.referenceOn( DEPARTMENTS.DEPARTMENT_ID ));*

I hope this is of some help to you. Feel free to ask if you have further
questions!

Cherio
     Benjamin

Am 28.06.2011 19:37, schrieb Matt DeHoust: ****

Hello, ****

** **

I see that the empire-db model supports relationships (for example
DBDatabase.getRelations()), but it doesn't seem that the codegen component
sets them up. Am I missing something? (I am using MySQL if that matters.)*
***

** **

If not, are there plans to introduce relationship setup in the codegen
component?****

** **

If not, where should I look to add them myself? CodeGenParser?****

** **

Thanks,****

Matt****

** **

P.S. I apologize if I posted this question twice by mitake.****

** **


Reply via email to