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:[email protected]] > to: [email protected] > cc: Matt DeHoust; [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**** > >> > >> ** ** > >> > >> 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.**** > >> > >> ** ** > >>
