Re: two different databases at same time?
Re: two different databases at same time?
- Subject: Re: two different databases at same time?
- From: David LeBer <email@hidden>
- Date: Wed, 4 Aug 2010 14:36:11 -0400
On 2010-08-04, at 2:26 PM, Joe Little wrote:
> On Wed, Aug 4, 2010 at 11:20 AM, David LeBer
> <email@hidden> wrote:
>>
>> On 2010-08-04, at 2:12 PM, Joe Little wrote:
>>
>>> Digging up an old thread. This is the first time I'm creating a
>>> multi-database relation. When my migrations kick off to generate my
>>> newer database that has a single relation to the old, it fails in
>>> spectacular ways.
>>>
>>> Specifically, it has this error:
>>>
>>> Caused by: java.lang.RuntimeException: Failed to execute 'ALTER TABLE
>>> STUDENT ADD CONSTRAINT STUDENT_admitApplicantID_ID_FK FOREIGN KEY
>>> (admitApplicantID) REFERENCES ADMIT_APPLICANT (ID) DEFERRABLE
>>> INITIALLY DEFERRED'.
>>> PSQLException: ERROR: relation "admit_applicant" does not exist
>>>
>>> student has a relation to admit_applicant, where student is
>>> db2.student and admit_applicant is db1.admit_applicant
>>>
>>> This is keyed off this migration line:
>>>
>>> studentTable.addForeignKey("admitApplicantID", "ADMIT_APPLICANT", "ID");
>>
>> Don't do that.
>>
>> EOF is fine with cross database relationships but your DB probably isn't. So it won't like you trying to create a foreign key constraint to a different database, so don't.
>
> So, what is the alternative? Would a join table work -- I think that
> still has foreign key constraints. Or is it simply stating a differ
> type of join (not inner)? I haven't done this before so my lack of
> clue is telling.
Sorry, I wasn't clear. Model the relationship in the EOModel, create a vanilla row in the db that will act as a foreign key for the relationship, but don't tell the db that it is a foreign key. Let EOF manage the relationship for you.
>
>>
>>>
>>> Am I just missing some clue that others already have?
>>>
>>> On Thu, Apr 1, 2010 at 8:17 PM, Cheong Hee <email@hidden> wrote:
>>>> Apparently I have complicated it by thinking of using multi ec to handle
>>>> respective database connections. Thanks for clarification..
>>>>
>>>> Cheers
>>>>
>>>> Cheong Hee
>>>>
>>>> ----- Original Message ----- From: "David LeBer"
>>>> <email@hidden>
>>>> To: "Cheong Hee" <email@hidden>
>>>> Cc: "WO Dev Group" <email@hidden>
>>>> Sent: Thursday, April 01, 2010 8:23 PM
>>>> Subject: Re: two different databases at same time?
>>>>
>>>>
>>>>
>>>> On 2010-04-01, at 12:07 AM, Cheong Hee wrote:
>>>>
>>>>> Is there any pointers or sample code how these could be done to initiate
>>>>> connection and save changes in respective ec?
>>>>
>>>> You don't need multiple ec's unless you want them. Other than that it's
>>>> transparent.
>>>>
>>>> EOEditingContext ec = ERXEC.newEditingContext();
>>>> Person p = (Person)EOUtitlites.createAndInsertInstance(ec,
>>>> Person.ENTITY_NAME); // Person entity persists in database A
>>>> Horse h = (Horse)EOUtitlites.createAndInsertInstance(ec, Horse.ENTITY_NAME);
>>>> // Horse entity persists in database B
>>>> // make chagnes to h and p
>>>> ec.saveChanges(); // p saved to database A, h saved to database B
>>>>
>>>> You can model cross database relationships as long as you don't try and
>>>> create a fetch based on them.
>>>>
>>>>>
>>>>> Cheers
>>>>>
>>>>> Cheong Hee
>>>>>
>>>>> ----- Original Message ----- From: "Mark Ritchie" <email@hidden>
>>>>> To: "James Cicenia" <email@hidden>
>>>>> Cc: "WO Dev Group" <email@hidden>
>>>>> Sent: Thursday, April 01, 2010 1:05 AM
>>>>> Subject: Re: two different databases at same time?
>>>>>
>>>>>
>>>>>> On 31/Mar/2010, at 8:15 AM, James Cicenia wrote:
>>>>>>>
>>>>>>> Is it possible to use two different databases, I guess via two different
>>>>>>> models?
>>>>>>> I will need to connect to an Oracle big database on a remote server and
>>>>>>> was
>>>>>>> wondering if I could also use a mySQL or postgres database for user
>>>>>>> control
>>>>>>> on local server.
>>>>>>
>>>>>> Yes, yes! You can have multiple concurrent connections! One for each
>>>>>> EOModel!
>>>>>> Just make sure that the entity names are unique across all EOModels!
>>>>>> Good luck!
>>>>>> M.
>>>>>> _______________________________________________
>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>> Webobjects-dev mailing list (email@hidden)
>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>
>>>>>> This email sent to email@hidden
>>>>>
>>>>> _______________________________________________
>>>>> Do not post admin requests to the list. They will be ignored.
>>>>> Webobjects-dev mailing list (email@hidden)
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>
>>>>>
>>>>> This email sent to email@hidden
>>>>
>>>> ;david
>>>>
>>>> --
>>>> David LeBer
>>>> Codeferous Software
>>>> 'co-def-er-ous' adj. Literally 'code-bearing'
>>>> site: http://codeferous.com
>>>> blog: http://davidleber.net
>>>> profile: http://www.linkedin.com/in/davidleber
>>>> twitter: http://twitter.com/rebeld
>>>> --
>>>> Toronto Area Cocoa / WebObjects developers group:
>>>> http://tacow.org
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list (email@hidden)
>>>> Help/Unsubscribe/Update your Subscription:
>>>>
>>>> This email sent to email@hidden
>>>>
>>
>> ;david
>>
>> --
>> David LeBer
>> Codeferous Software
>> 'co-def-er-ous' adj. Literally 'code-bearing'
>> site: http://codeferous.com
>> blog: http://davidleber.net
>> profile: http://www.linkedin.com/in/davidleber
>> twitter: http://twitter.com/rebeld
>> --
>> Toronto Area Cocoa / WebObjects developers group:
>> http://tacow.org
>>
>>
>>
>>
>>
;david
--
David LeBer
Codeferous Software
'co-def-er-ous' adj. Literally 'code-bearing'
site: http://codeferous.com
blog: http://davidleber.net
profile: http://www.linkedin.com/in/davidleber
twitter: http://twitter.com/rebeld
--
Toronto Area Cocoa / WebObjects developers group:
http://tacow.org
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden