empire-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt DeHoust <mdeho...@gmail.com>
Subject Re: Relationships
Date Mon, 04 Jul 2011 18:53:40 GMT
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 <mdehoust@gmail.com> 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 <
> benjamin.venditti@arcor.de> 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<benjamin.venditti@arcor.de>
>>>> ]
>>>> to: empire-db-dev@incubator.**apache.org<empire-db-dev@incubator.apache.org>
>>>> cc: Matt DeHoust; empire-db-user@incubator.**apache.org<empire-db-user@incubator.apache.org>
>>>> 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<doebele@esteam.de>
>>>>>
>>>> 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<empire-db-dev@incubator.apache.org>
>>>>>> ****
>>>>>>
>>>>>> ** **
>>>>>>
>>>>>> Thanks, ****
>>>>>>
>>>>>> Rainer****
>>>>>>
>>>>>> ** **
>>>>>>
>>>>>> ** **
>>>>>>
>>>>>> *Von:* Benjamin Venditti [mailto:benjamin.venditti@**arcor.de<benjamin.venditti@arcor.de>
>>>>>> ]
>>>>>> *Gesendet:* Mittwoch, 29. Juni 2011 01:47
>>>>>> *An:* empire-db-user@incubator.**apache.org<empire-db-user@incubator.apache.org>
>>>>>> *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.****
>>>>>>
>>>>>> ** **
>>>>>>
>>>>>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message