Also meant to say that I tested this with MySQL and, so far, it appears to work just fine. Thanks!
-Matt On Mon, Jul 4, 2011 at 2:49 PM, Matt DeHoust <[email protected]> wrote: > Sorry for the delay, but I have attached the patch to EMPIREDB-110. The > patch provides a unit test named CodeGenParserTest that verifies the > EMPLOYEES->DEPARTMENTS relationship in the test database is properly reverse > engineered. > > -Matt > > > On Mon, Jul 4, 2011 at 8:05 AM, Benjamin Venditti < > [email protected]> wrote: > >> Hi Rainer, >> >> good to hear they it is working as expected. >> I'll have another look at it when Matt attaches his test to this issue. >> It'd be good to have a formal testcase for that, too. >> >> Cherio >> Benjamin >> >> Am 04.07.2011 11:25, schrieb Rainer Döbele: >> >> Hi Benjamin, >>> >>> I had a look at your changes and they look good to me. >>> Tried it with Oracle and it worked as expected. >>> >>> I just made a few adjustments to the logging. >>> >>> Thanks a lot. >>> Rainer >>> >>> >>> from: Benjamin Venditti >>> [mailto:benjamin.venditti@**arcor.de<[email protected]> >>>> ] >>>> to: >>>> empire-db-dev@incubator.**apache.org<[email protected]> >>>> cc: Matt DeHoust; >>>> empire-db-user@incubator.**apache.org<[email protected]> >>>> re: Re: Relationships >>>> >>>> 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****<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:* >>>> >>>>> *** >>>>>> >>>>>> empire-db-dev@incubator.**apache.org<[email protected]> >>>>>> **** >>>>>> >>>>>> ** ** >>>>>> >>>>>> Thanks, **** >>>>>> >>>>>> Rainer**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> ** ** >>>>>> >>>>>> *Von:* Benjamin Venditti >>>>>> [mailto:benjamin.venditti@**arcor.de<[email protected]> >>>>>> ] >>>>>> *Gesendet:* Mittwoch, 29. Juni 2011 01:47 >>>>>> *An:* >>>>>> empire-db-user@incubator.**apache.org<[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.**** >>>>>> >>>>>> ** ** >>>>>> >>>>>> >> >
